+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
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
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():
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():
+++ /dev/null
-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"