aiogram/tests/test_utils/test_auth_widget.py

46 lines
1.1 KiB
Python
Raw Normal View History

import pytest
2019-11-15 12:17:57 +02:00
from aiogram.utils.auth_widget import check_integrity, check_token, generate_hash
2019-11-15 12:17:57 +02:00
TOKEN = "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"
@pytest.fixture
def data():
return {
2019-11-15 12:17:57 +02:00
"id": "42",
"first_name": "John",
"last_name": "Smith",
"username": "username",
"photo_url": "https://t.me/i/userpic/320/picname.jpg",
"auth_date": "1565810688",
"hash": "c303db2b5a06fe41d23a9b14f7c545cfc11dcc7473c07c9c5034ae60062461ce",
}
def test_generate_hash(data):
res = generate_hash(data, TOKEN)
2019-11-15 12:17:57 +02:00
assert res == data["hash"]
class Test_check_token:
"""
This case gonna be deleted
"""
2019-11-15 12:17:57 +02:00
def test_ok(self, data):
assert check_token(data, TOKEN) is True
def test_fail(self, data):
2019-11-15 12:17:57 +02:00
data.pop("username")
assert check_token(data, TOKEN) is False
class Test_check_integrity:
def test_ok(self, data):
assert check_integrity(TOKEN, data) is True
def test_fail(self, data):
2019-11-15 12:17:57 +02:00
data.pop("username")
assert check_integrity(TOKEN, data) is False