]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
unit tests: made them recognizable as python package and moved test config creation...
authorVasek Sraier <git@vakabus.cz>
Thu, 31 Mar 2022 12:42:51 +0000 (14:42 +0200)
committerAleš Mrázek <ales.mrazek@nic.cz>
Fri, 8 Apr 2022 14:17:54 +0000 (16:17 +0200)
manager/knot_resolver_manager/datamodel/config_schema.py
manager/pyproject.toml
manager/tests/unit/__init__.py
manager/tests/unit/datamodel/test_config_schema.py
manager/tests/unit/test_config_store.py
manager/tests/unit/utils.py [new file with mode: 0644]

index 4341326ef27ba7f75510cfcc888d78dcb83c5584..ae3050859715428b78e427c58f397ff5430efe5f 100644 (file)
@@ -125,11 +125,3 @@ class KresConfig(SchemaNode):
         # it should be removed and relative path used instead as soon as issue
         # https://gitlab.nic.cz/knot/knot-resolver/-/issues/720 is fixed
         return _MAIN_TEMPLATE.render(cfg=self, cwd=os.getcwd())  # pyright: reportUnknownMemberType=false
-
-    @staticmethod
-    def test_instance() -> "KresConfig":
-        """
-        Funtion used just for testing purposes. Creates an instance of KresConfig without requiring
-        any arguments.
-        """
-        return KresConfig({"server": {"id": "test"}})
index 5b29ba5677c06aefe2d1e21329b6d9c07351e16c..643a926a16e5b6ab682735a0dd583e187f6a76c0 100644 (file)
@@ -138,7 +138,8 @@ max-parents = "10"
 
 [tool.pyright]
 include = [
-    "knot_resolver_manager"
+    "knot_resolver_manager",
+    "tests"
 ]
 exclude = []
 typeCheckingMode = "strict"
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8b137891791fe96927ad78e64b0aad7bded08bdc 100644 (file)
@@ -0,0 +1 @@
+
index d13a99b67f6f076ceb0d47665841f5c96a35d99d..884241aee56d8f20b1e542e4a3dae50cb80ac7b4 100644 (file)
@@ -7,6 +7,7 @@ from knot_resolver_manager.datamodel import KresConfig
 from knot_resolver_manager.datamodel.types import IPv6Network96, TimeUnit
 from knot_resolver_manager.exceptions import SchemaException
 from knot_resolver_manager.utils.modelling import SchemaNode
+from tests.unit.utils import test_instance_of_kres_config
 
 
 def test_dns64_true():
@@ -17,7 +18,7 @@ def test_dns64_true():
 
 
 def test_dns64_default_false():
-    config = KresConfig.test_instance()
+    config = test_instance_of_kres_config()
 
     assert config.dns64 == False
 
@@ -29,7 +30,7 @@ def test_dnssec_false():
 
 
 def test_dnssec_default_true():
-    config = KresConfig.test_instance()
+    config = test_instance_of_kres_config()
 
     assert config.dnssec.trust_anchor_sentinel == True
     assert config.dnssec.trust_anchor_signal_query == True
@@ -46,7 +47,7 @@ def test_dnssec_default_true():
 def test_json_schema():
     dct = KresConfig.json_schema()
 
-    def recser(obj: Any, path: str = ""):
+    def recser(obj: Any, path: str = "") -> None:
         if not isinstance(obj, dict):
             return
         else:
index fcceeddb017a95dfa678f61acdfc3f257a03d5bf..69f25bdf071815a7d608a43331afbec96f6f0e92 100644 (file)
@@ -2,6 +2,7 @@ import pytest
 
 from knot_resolver_manager.config_store import ConfigStore, only_on_real_changes
 from knot_resolver_manager.datamodel.config_schema import KresConfig
+from tests.unit.utils import test_instance_of_kres_config
 
 
 @pytest.mark.asyncio  # type: ignore
@@ -13,18 +14,18 @@ async def test_only_once():
         nonlocal count
         count += 1
 
-    config = KresConfig.test_instance()
+    config = test_instance_of_kres_config()
     store = ConfigStore(config)
 
     await store.register_on_change_callback(change_callback)
     assert count == 1
 
-    config = KresConfig.test_instance()
+    config = test_instance_of_kres_config()
     config.logging.level = "crit"
     await store.update(config)
     assert count == 2
 
-    config = KresConfig.test_instance()
+    config = test_instance_of_kres_config()
     config.lua.script_only = True
     config.lua.script = "meaningless value"
     await store.update(config)
diff --git a/manager/tests/unit/utils.py b/manager/tests/unit/utils.py
new file mode 100644 (file)
index 0000000..7b07f26
--- /dev/null
@@ -0,0 +1,8 @@
+from knot_resolver_manager.datamodel.config_schema import KresConfig
+
+
+def test_instance_of_kres_config() -> KresConfig:
+    """
+    Creates an instance of KresConfig without requiring any arguments.
+    """
+    return KresConfig({"server": {"id": "test"}})