]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
datamodel: dns64: change of prefix type
authorAleš <ales.mrazek@nic.cz>
Mon, 13 Sep 2021 10:19:38 +0000 (12:19 +0200)
committerAleš Mrázek <ales.mrazek@nic.cz>
Fri, 8 Apr 2022 14:17:52 +0000 (16:17 +0200)
manager/knot_resolver_manager/datamodel/dns64_config.py
manager/knot_resolver_manager/datamodel/types.py
manager/tests/datamodel/test_config.py
manager/tests/datamodel/test_dns64_config.py [deleted file]

index 0cd1fe2766aa561c4e05be43b5a9998e42173630..c2eaafff0b4e81d3dfd71d9051c3793778100b0c 100644 (file)
@@ -1,12 +1,13 @@
+from knot_resolver_manager.datamodel.types import IPv6Network96
 from knot_resolver_manager.utils import DataParser, DataValidator
 
 
 class Dns64(DataParser):
-    prefix: str = "64:ff9b::"
+    prefix: IPv6Network96 = IPv6Network96("64:ff9b::/96")
 
 
 class Dns64Strict(DataValidator):
-    prefix: str
+    prefix: IPv6Network96
 
     def _validate(self):
         pass
index f76b9e3f4c1fcab8108ef3fd9ab8f9fced277c6a..202394c34d2d792b7550cd0e842a6d30915303b5 100644 (file)
@@ -245,6 +245,9 @@ class IPv6Network96(CustomValueType):
     def __int__(self) -> int:
         raise ValueError("Can't convert network prefix to an integer")
 
+    def __eq__(self, o: object) -> bool:
+        return isinstance(o, IPv6Network96) and o._value == self._value
+
     def serialize(self) -> Any:
         return self._value.with_prefixlen
 
index 2adeb70d9b58bf449102698ded69362a251fa3cd..0300d1c00691ee42516802afcbd61d400deb1354 100644 (file)
@@ -1,5 +1,5 @@
 from knot_resolver_manager.datamodel import KresConfig, KresConfigStrict
-from knot_resolver_manager.datamodel.types import TimeUnit
+from knot_resolver_manager.datamodel.types import IPv6Network96, TimeUnit
 
 
 def test_dns64_true_default():
@@ -7,7 +7,7 @@ def test_dns64_true_default():
     strict = KresConfigStrict(config)
 
     assert strict.dns64
-    assert strict.dns64.prefix == "64:ff9b::"
+    assert strict.dns64.prefix == IPv6Network96("64:ff9b::/96")
 
 
 def test_dnssec_true_default():
diff --git a/manager/tests/datamodel/test_dns64_config.py b/manager/tests/datamodel/test_dns64_config.py
deleted file mode 100644 (file)
index d594a2e..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-from knot_resolver_manager.datamodel.dns64_config import Dns64, Dns64Strict
-
-yaml = """
-prefix: fe80::21b:77ff:0:0
-"""
-
-config = Dns64.from_yaml(yaml)
-strict = Dns64Strict(config)
-
-
-def test_parsing():
-    assert config.prefix == "fe80::21b:77ff:0:0"
-
-
-def test_validating():
-    assert strict.prefix == "fe80::21b:77ff:0:0"