Compare commits

..

No commits in common. "f38a1036b79b9779a8480c2d1f79132370b83bb4" and "a8ecfab93096cd3201efcb06a65bc86a2444611a" have entirely different histories.

3 changed files with 21 additions and 11 deletions

View file

@ -1,4 +1,5 @@
import logging
import re
from typing import Any, Literal
import dns.rdata
@ -101,11 +102,11 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider):
@return: the modified record value
"""
if escape:
fixed = value.replace(";", "\\;")
value = re.sub(r"\\*;", "\\;", value)
else:
fixed = value.replace("\\;", ";")
value = re.sub(r"\\*;", ";", value)
return fixed
return value
def _get_nb_view(self, view: str | None | Literal[False]) -> dict[str, int | str]:
"""get the correct netbox view when requested

View file

@ -13,7 +13,7 @@ DEFAULT_CONFIG = {
def test_escape1():
nbdns = NetBoxDNSProvider(**DEFAULT_CONFIG)
rcd_value = r"v=TLSRPTv1; rua=mailto:tlsrpt@example.com"
rcd_value = r"v=TLSRPTv1\\; rua=mailto:tlsrpt@example.com"
value = nbdns._fix_semicolon(rcd_value, escape=True)
assert value == r"v=TLSRPTv1\; rua=mailto:tlsrpt@example.com"
@ -21,10 +21,10 @@ def test_escape1():
def test_escape2():
nbdns = NetBoxDNSProvider(**DEFAULT_CONFIG)
rcd_value = r"v=TLSRPTv1\; rua=mailto:tlsrpt@example.com"
rcd_value = r"v=TLSRPTv1; rua=mailto:tlsrpt@example.com"
value = nbdns._fix_semicolon(rcd_value, escape=True)
assert value == r"v=TLSRPTv1\\; rua=mailto:tlsrpt@example.com"
assert value == r"v=TLSRPTv1\; rua=mailto:tlsrpt@example.com"
def test_escape3():
@ -32,7 +32,7 @@ def test_escape3():
rcd_value = r"t=y\;o=~\;"
value = nbdns._fix_semicolon(rcd_value, escape=True)
assert value == r"t=y\\;o=~\\;"
assert value == r"t=y\;o=~\;"
def test_escape4():
@ -56,7 +56,7 @@ def test_unescape2():
rcd_value = r"v=TLSRPTv1\\; rua=mailto:tlsrpt@example.com"
value = nbdns._fix_semicolon(rcd_value, escape=False)
assert value == r"v=TLSRPTv1\; rua=mailto:tlsrpt@example.com"
assert value == r"v=TLSRPTv1; rua=mailto:tlsrpt@example.com"
def test_unescape3():
@ -64,7 +64,7 @@ def test_unescape3():
rcd_value = r"t=y\\;o=~\;"
value = nbdns._fix_semicolon(rcd_value, escape=False)
assert value == r"t=y\;o=~;"
assert value == r"t=y;o=~;"
def test_unescape4():

View file

@ -56,7 +56,7 @@ def test_txt2():
rcd_value = r"v=TLSRPTv1\; rua=mailto:tlsrpt@example.com"
value = nbdns._format_rdata(rcd_type, rcd_value)
assert value == r"v=TLSRPTv1\\; rua=mailto:tlsrpt@example.com"
assert value == r"v=TLSRPTv1\; rua=mailto:tlsrpt@example.com"
def test_txt3():
@ -77,7 +77,7 @@ def test_txt4():
rcd_value = r"t=y\;o=~\;"
value = nbdns._format_rdata(rcd_type, rcd_value)
assert value == r"t=y\\;o=~\\;"
assert value == r"t=y\;o=~\;"
def test_txt5():
@ -89,6 +89,15 @@ def test_txt5():
assert value == r"t=y\;o=~\;"
def test_txt4():
nbdns = NetBoxDNSProvider(**DEFAULT_CONFIG)
rcd_type = "TXT"
rcd_value = r"v=TLSRPTv1\\; rua=mailto:tlsrpt@example.com"
value = nbdns._format_rdata(rcd_type, rcd_value)
assert value == r"v=TLSRPTv1\; rua=mailto:tlsrpt@example.com"
def test_srv():
nbdns = NetBoxDNSProvider(**DEFAULT_CONFIG)
rcd_type = "SRV"