46 lines
2.1 KiB
Python
46 lines
2.1 KiB
Python
import unittest
|
|
import os
|
|
import shutil
|
|
|
|
from simple_chat_api.db_handler.db_handler import DbConnector
|
|
from simple_chat_api.db_handler.user_manager import UserManager
|
|
|
|
DB_PATH = "./data/TEST.sqlite"
|
|
|
|
EXISTING_USER = ("admin", "admin")
|
|
|
|
class TestUserManagmentWrapper(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
shutil.copyfile("docs/unittest_sample.sqlite", DB_PATH)
|
|
db = DbConnector(f"sqlite:///{DB_PATH}")
|
|
self.user_mgr = UserManager(db)
|
|
|
|
def tearDown(self):
|
|
self.user_mgr.db_con.close()
|
|
os.remove(DB_PATH)
|
|
|
|
def test_create_user(self):
|
|
user = ("someone", "some_pass")
|
|
ret = self.user_mgr.create_user(*user)
|
|
self.assertTrue(ret, f"user {user} faild to be created")
|
|
|
|
def test_authenticate(self):
|
|
self.assertTrue(self.user_mgr.authenticate(*EXISTING_USER),
|
|
f"Existing user {EXISTING_USER} could not be authenticated")
|
|
self.assertFalse(self.user_mgr.authenticate(EXISTING_USER[0], "unknown_pass"),
|
|
f"Existing user {EXISTING_USER[0]} could be authenticated with wrong password")
|
|
self.assertFalse(self.user_mgr.authenticate("unknown_user", "unknown_pass"),
|
|
f"An unknown User was authenticated")
|
|
|
|
def test_delete_user(self):
|
|
self.assertTrue(self.user_mgr.delete_user(EXISTING_USER[0]), f"The existing user {EXISTING_USER[0]} could not be removed")
|
|
self.assertFalse(self.user_mgr.delete_user("unknown_user"), "an unknown user could be deleted")
|
|
|
|
def test_change_password(self):
|
|
self.assertTrue(self.user_mgr.change_user_password(EXISTING_USER[0], "new_pass"), f"Could not change password for existing user")
|
|
self.assertFalse(self.user_mgr.change_user_password("unknown_user", "new_pass"), "The password for an unknown user was changed")
|
|
|
|
def test_check_user_exists(self):
|
|
self.assertTrue(self.user_mgr.check_user_exists(EXISTING_USER[0]), f"The {EXISTING_USER[0]} could not be found")
|
|
self.assertFalse(self.user_mgr.check_user_exists("unknown_user"), "An unknown user was found") |