Archived
25 lines
929 B
Python
25 lines
929 B
Python
from karldns.dns.rfc2136 import _apply_record_update, _RecordUpdate
|
|||
|
|
|
||
|
|
|
||
|
|
class _FakeUpdate:
|
||
|
|
def __init__(self) -> None:
|
||
|
|
self.calls: list[tuple[object, ...]] = []
|
||
|
|
|
||
|
|
def replace(self, *args: object) -> None:
|
||
|
|
self.calls.append(("replace", *args))
|
||
|
|
|
||
|
|
def delete(self, *args: object) -> None:
|
||
|
|
self.calls.append(("delete", *args))
|
||
|
|
|
||
|
|
|
||
|
|
def test_apply_record_update_replaces_deletes_or_skips_record_type() -> None:
|
||
|
|
update = _FakeUpdate()
|
||
|
|
|
||
|
|
_apply_record_update(update, "home", _RecordUpdate(ttl=60, record_type="A", value="203.0.113.7", enabled=True))
|
||
|
|
_apply_record_update(update, "home", _RecordUpdate(ttl=60, record_type="AAAA", value=None, enabled=True))
|
||
|
|
_apply_record_update(update, "home", _RecordUpdate(ttl=60, record_type="TXT", value="ignored", enabled=False))
|
||
|
|
|
||
|
|
assert update.calls == [
|
||
|
|
("replace", "home", 60, "A", "203.0.113.7"),
|
||
|
|
("delete", "home", "AAAA"),
|
||
|
|
]
|