Преглед изворни кода

Added new test to test_settings.py: test_settings_any_filename

Vsevolod Levitan пре 1 година
родитељ
комит
05c49aa584
1 измењених фајлова са 34 додато и 2 уклоњено
  1. 34 2
      test_settings.py

+ 34 - 2
test_settings.py

@@ -1,6 +1,6 @@
 from settings import settings
 from settings_manager import settings_manager
-import unittest
+import unittest, os, random
 
 
 class test_settings(unittest.TestCase):
@@ -63,4 +63,36 @@ class test_settings(unittest.TestCase):
 
         # Проверка
         for key in dict.keys():
-            assert len(str(dict[key])) != 0
+            assert len(str(dict[key])) != 0
+
+    
+    #
+    #   Проверить, что менеджер настроек может открыть файл
+    #       с любым названием и в любой папке
+    #
+    def test_settings_any_filename(self):
+        # Подготовка
+        if not os.path.exists("./.test_data"):
+            os.mkdir("./.test_data")
+        alp = "abcdefghijklmnopqrstuvwxyz"
+        dirname = f"{os.curdir}/.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)
+        f = open(filename, "w")
+        f2 = open(f"{os.curdir}/settings.json")
+        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)