flask-home-vod/server/flask/application/test/data/test_dao_registration_tokens.py
2023-02-02 01:47:38 +02:00

75 lines
2 KiB
Python

import os,sys
sys.path.append('../')
import context
import unittest
import unittest.mock
import time
from flask import current_app
import backend.data.db as db
from backend.data.data_models import DataError
import backend.data.dao_registration_tokens as sut
class RegistrationTokenDAOTest(unittest.TestCase):
app = context.create_app(context.default_test_config)
def setUp(self):
with self.app.app_context():
db.init_db()
def tearDown(self):
with self.app.app_context():
db.close_db()
os.remove("testdb")
def test_empty_db_contains_no_token(self):
token = "token"
with self.app.app_context():
actual = sut.is_valid_token(token)
self.assertEqual(False, actual)
def test_inserted_token_is_found(self):
token = "token"
with self.app.app_context():
sut.insert_token(token)
actual = sut.is_valid_token(token)
self.assertEqual(True, actual)
def test_same_token_cannot_be_inserted_twice(self):
token = "token"
with self.app.app_context():
sut.insert_token(token)
result = sut.insert_token(token)
self.assertEqual(DataError.REGISTRATION_CODE_ALREADY_EXISTS, result)
def test_token_deleted_is_not_found(self):
token = "token"
with self.app.app_context():
sut.insert_token(token)
sut.delete_token(token)
actual = sut.is_valid_token(token)
self.assertEqual(False, actual)
def test_tokens_can_be_requested(self):
expected = ['token-1', 'token-3']
with self.app.app_context():
sut.insert_token('token-1')
sut.insert_token('token-2')
sut.insert_token('token-3')
sut.delete_token('token-2')
actual = sut.get_tokens()
self.assertEqual(expected, actual)
if __name__ == '__main__':
unittest.main(verbosity=2)