diff --git a/selfprivacy_api/repositories/tokens/redis_tokens_repository.py b/selfprivacy_api/repositories/tokens/redis_tokens_repository.py index f99d215..be3615f 100644 --- a/selfprivacy_api/repositories/tokens/redis_tokens_repository.py +++ b/selfprivacy_api/repositories/tokens/redis_tokens_repository.py @@ -11,6 +11,7 @@ from selfprivacy_api.utils.redis_pool import RedisPool from selfprivacy_api.models.tokens.token import Token from selfprivacy_api.models.tokens.recovery_key import RecoveryKey from selfprivacy_api.models.tokens.new_device_key import NewDeviceKey +from selfprivacy_api.repositories.tokens.exceptions import TokenNotFound TOKENS_PREFIX = "token_repo:tokens:" NEW_DEVICE_KEY_REDIS_KEY = "token_repo:new_device_key" @@ -40,6 +41,10 @@ class RedisTokensRepository(AbstractTokensRepository): key = RedisTokensRepository._token_redis_key(input_token) r.delete(key) + def reset(self): + for token in self.get_tokens(): + self.delete_token(token) + def get_recovery_key(self) -> Optional[RecoveryKey]: """Get the recovery key""" raise NotImplementedError diff --git a/tests/test_graphql/test_repository/test_tokens_repository.py b/tests/test_graphql/test_repository/test_tokens_repository.py index 0a0382b..05ad77b 100644 --- a/tests/test_graphql/test_repository/test_tokens_repository.py +++ b/tests/test_graphql/test_repository/test_tokens_repository.py @@ -159,8 +159,7 @@ def empty_json_repo(empty_keys): @pytest.fixture def empty_redis_repo(): repo = RedisTokensRepository() - for token in repo.get_tokens(): - repo.delete_token(token) + repo.reset() assert repo.get_tokens() == [] return repo