Compare commits

..

2 commits

Author SHA1 Message Date
9efd4faea1 run auto-formatter
All checks were successful
check code / check-code (push) Successful in 18s
Signed-off-by: Ivan Schaller <ivan@schaller.sh>
2024-08-09 10:59:15 +02:00
Erik Hansson
f1f6602985 always normalize zones 2024-08-08 16:14:43 +02:00
2 changed files with 28 additions and 5 deletions

View file

@ -75,14 +75,18 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider):
self.make_absolute = make_absolute
self.disable_ptr = disable_ptr
def _make_absolute(self, value: str) -> str:
def _make_absolute(self, value: str, force: bool = False) -> str:
"""return dns name with trailing dot to make it absolute
@param value: dns record value
@param force: when `True`, disregard configuration option `make_absolute`
@return: absolute dns record value
"""
if not self.make_absolute or value.endswith("."):
if value.endswith("."):
return value
if not (self.make_absolute or force):
return value
absolute_value = value + "."
@ -438,5 +442,6 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider):
"""
query_params = {"status": "active", **self.nb_view}
zones = self.api.plugins.netbox_dns.zones.filter(**query_params)
absolute_zones = [self._make_absolute(z.name, True) for z in zones]
return sorted([self._make_absolute(z.name) for z in zones])
return sorted(absolute_zones)

View file

@ -11,7 +11,7 @@ DEFAULT_CONFIG = {
}
def test1():
def test_absolute():
nbdns = NetBoxDNSProvider(**DEFAULT_CONFIG)
rcd = "example.com"
absolute = nbdns._make_absolute(rcd)
@ -19,9 +19,27 @@ def test1():
assert absolute == "example.com."
def test2():
def test_noop():
nbdns = NetBoxDNSProvider(**DEFAULT_CONFIG)
rcd = "example.com."
absolute = nbdns._make_absolute(rcd)
assert absolute == "example.com."
def test_disabled():
args = {**DEFAULT_CONFIG, "make_absolute": False}
nbdns = NetBoxDNSProvider(**args)
rcd = "example.com"
relative = nbdns._make_absolute(rcd, force=False)
assert relative == "example.com"
def test_force():
args = {**DEFAULT_CONFIG, "make_absolute": False}
nbdns = NetBoxDNSProvider(**args)
rcd = "example.com"
absolute = nbdns._make_absolute(rcd, force=True)
assert absolute == "example.com."