selfprivacy-rest-api/tests/test_graphql/test_repository/test_tokens_repository.py

82 lines
2.3 KiB
Python

# pylint: disable=redefined-outer-name
# pylint: disable=unused-argument
# pylint: disable=missing-function-docstring
import datetime
import pytest
from tests.common import read_json
from selfprivacy_api.repositories.tokens.json_tokens_repository import (
JsonTokensRepository,
)
from selfprivacy_api.models.tokens.token import Token
from selfprivacy_api.repositories.tokens.exceptions import (
TokenNotFoundError,
RecoveryKeyNotFoundError,
MnemonicError,
RecoveryKeyIsNotValidError,
RecoveryTokenError,
)
@pytest.fixture
def tokens(mocker, datadir):
mocker.patch("selfprivacy_api.utils.TOKENS_FILE", new=datadir / "tokens.json")
assert read_json(datadir / "tokens.json")["tokens"] == [
{
"token": "iamtoken",
"name": "primary_token",
"date": "2022-07-15 17:41:31.675698",
}
]
return datadir
def test_get_token_by_token_string(tokens):
repo = JsonTokensRepository()
assert repo.get_token_by_token_string(token_string="iamtoken") is not None
assert repo.get_token_by_token_string(token_string="iamtoken") == Token(
token="iamtoken",
device_name="primary_token",
created_at=datetime.datetime(2022, 7, 15, 17, 41, 31, 675698),
)
def test_get_token_by_non_existent_token_string(tokens):
repo = JsonTokensRepository()
with pytest.raises(TokenNotFoundError):
assert repo.get_token_by_token_string(token_string="iamBadtoken") is None
def test_get_token_by_name(tokens):
repo = JsonTokensRepository()
assert repo.get_token_by_name(token_name="primary_token") is not None
assert repo.get_token_by_name(token_name="primary_token") == Token(
token="iamtoken",
device_name="primary_token",
created_at=datetime.datetime(2022, 7, 15, 17, 41, 31, 675698),
)
def test_get_token_by_non_existent_name(tokens):
repo = JsonTokensRepository()
with pytest.raises(TokenNotFoundError):
assert repo.get_token_by_name(token_name="badname") is None
def test_get_tokens(tokens):
repo = JsonTokensRepository()
assert repo.get_tokens() is not None
assert repo.get_tokens() == [
Token(
token="iamtoken",
device_name="primary_token",
created_at=datetime.datetime(2022, 7, 15, 17, 41, 31, 675698),
)
]