0
0
mirror of https://gitflic.ru/project/maks1ms/ocab.git synced 2025-11-28 10:21:55 +03:00

Исправлены импорты внутри модулей, добавлены: модуль для исключений, скрипт инициализации путей, переделано подключение к бд

This commit is contained in:
ilyazheprog
2023-12-10 23:04:17 +07:00
parent 88db66c360
commit 1e7c70078b
38 changed files with 198 additions and 77 deletions

View File

@@ -0,0 +1,50 @@
import os
import unittest
from ...database.api import create_tables, connect_database, add_user
from ..api import Roles
class TestRoles(unittest.IsolatedAsyncioTestCase):
database = None
path = None
@classmethod
def setUpClass(cls):
cls.roles = Roles()
cls.database, cls.path = connect_database(is_test=True, module="roles")
create_tables(cls.database)
add_user(user_id=1, user_name="TestUser1", user_tag="TestTag1", user_role=0, user_stats=30, user_rep=15)
add_user(user_id=2, user_name="TestUser3", user_tag="TestTag3", user_role=1, user_stats=30, user_rep=15)
add_user(user_id=3, user_name="TestUser4", user_tag="TestTag4", user_role=2, user_stats=30, user_rep=15)
add_user(user_id=4, user_name="TestUser2", user_tag="TestTag2", user_role=3, user_stats=30, user_rep=15)
async def test_check_admin_permission(cls):
cls.assertTrue(await cls.roles.check_admin_permission(1))
cls.assertFalse(await cls.roles.check_admin_permission(2))
cls.assertFalse(await cls.roles.check_admin_permission(3))
cls.assertFalse(await cls.roles.check_admin_permission(4))
async def test_check_moderator_permission(cls):
cls.assertTrue(await cls.roles.check_moderator_permission(2))
cls.assertFalse(await cls.roles.check_moderator_permission(0))
cls.assertFalse(await cls.roles.check_moderator_permission(1))
cls.assertFalse(await cls.roles.check_moderator_permission(3))
async def test_get_role_name(cls):
cls.assertEqual(await cls.roles.get_role_name(cls.roles.admin_role_id), "ADMIN")
cls.assertEqual(await cls.roles.get_role_name(cls.roles.moderator_role_id), "MODERATOR")
cls.assertEqual(await cls.roles.get_role_name(cls.roles.user_role_id), "USER")
cls.assertEqual(await cls.roles.get_role_name(cls.roles.bot_role_id), "BOT")
with cls.assertRaises(ValueError):
await cls.roles.get_role_name(999) # Несуществующий ID роли
@classmethod
def tearDownClass(cls):
cls.database.close()
os.system(f"rm {cls.path}")
if __name__ == '__main__':
unittest.main()