1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- from src.settings.settings import settings
- from src.settings.settings_manager import settings_manager
- import unittest
- import os
- import random
- class test_settings(unittest.TestCase):
- projdir = os.path.dirname(__file__) + "/.."
- def test_first_name_setter(self):
- """Проверить корректность заполнения поля first_name"""
- # Подготовка
- item = settings()
- # Действие
- item.first_name = "a "
- # Проверка
- assert item.first_name == "a"
- def test_settings_manager_singleton(self):
- """Проверить, что settings_manager имплементирует singleton"""
- # Подготовка
- man1 = settings_manager()
- man2 = settings_manager()
- # Действие
- # Проверка
- assert man1 is man2
- def test_open_settings(self):
- """Проверить корректность загрузки настроек"""
- # Подготовка
- man = settings_manager()
- # Действие
- result = man.open(f"{self.projdir}/config/settings.json")
- # Проверка
- assert result
- def test_settings_fields_nonempty(self):
- """Проверить, что все поля настроек не пусты после считывания настроек"""
- # Подготовка
- man = settings_manager()
- settings = None
- # Действие
- man.open(f"{self.projdir}/config/settings.json")
- settings = man.settings
- dict = settings.__dict__
- # Проверка
- for key in dict.keys():
- assert len(str(dict[key])) != 0
- def test_settings_any_filename(self):
- """Проверить, что менеджер настроек может открыть файл с любым названием и в любой папке"""
- # Подготовка
- if not os.path.exists(f"{self.projdir}/.test_data"):
- os.mkdir(f"{self.projdir}/.test_data")
- alp = "abcdefghijklmnopqrstuvwxyz"
- dirname = f"{self.projdir}/.test_data/"
- dirname += "".join(random.choice(alp) for _ in range(6))
- filename = f"{dirname}/"
- filename += "".join(random.choice(alp) for _ in range(6)) + ".json"
- os.mkdir(dirname)
- print(filename)
- f = open(filename, "w", encoding="UTF-8")
- f2 = open(f"{self.projdir}/config/settings.json", encoding="UTF-8")
- f.write(f2.read())
- f.close()
- f2.close()
- # Действие
- man = settings_manager()
- man.open(filename)
- # Проверка
- assert settings is not None
- # Очистка
- os.remove(filename)
- os.removedirs(dirname)
|