From: Vasek Sraier Date: Thu, 31 Mar 2022 12:42:51 +0000 (+0200) Subject: unit tests: made them recognizable as python package and moved test config creation... X-Git-Tag: v6.0.0a1~38^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff553b1b74227b9dc2fc799ad7124ac381e8ba55;p=thirdparty%2Fknot-resolver.git unit tests: made them recognizable as python package and moved test config creation method there --- diff --git a/manager/knot_resolver_manager/datamodel/config_schema.py b/manager/knot_resolver_manager/datamodel/config_schema.py index 4341326ef..ae3050859 100644 --- a/manager/knot_resolver_manager/datamodel/config_schema.py +++ b/manager/knot_resolver_manager/datamodel/config_schema.py @@ -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"}}) diff --git a/manager/pyproject.toml b/manager/pyproject.toml index 5b29ba567..643a926a1 100644 --- a/manager/pyproject.toml +++ b/manager/pyproject.toml @@ -138,7 +138,8 @@ max-parents = "10" [tool.pyright] include = [ - "knot_resolver_manager" + "knot_resolver_manager", + "tests" ] exclude = [] typeCheckingMode = "strict" diff --git a/manager/tests/unit/__init__.py b/manager/tests/unit/__init__.py index e69de29bb..8b1378917 100644 --- a/manager/tests/unit/__init__.py +++ b/manager/tests/unit/__init__.py @@ -0,0 +1 @@ + diff --git a/manager/tests/unit/datamodel/test_config_schema.py b/manager/tests/unit/datamodel/test_config_schema.py index d13a99b67..884241aee 100644 --- a/manager/tests/unit/datamodel/test_config_schema.py +++ b/manager/tests/unit/datamodel/test_config_schema.py @@ -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: diff --git a/manager/tests/unit/test_config_store.py b/manager/tests/unit/test_config_store.py index fcceeddb0..69f25bdf0 100644 --- a/manager/tests/unit/test_config_store.py +++ b/manager/tests/unit/test_config_store.py @@ -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 index 000000000..7b07f26a1 --- /dev/null +++ b/manager/tests/unit/utils.py @@ -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"}})