2023-06-04 01:07:41 +00:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
import re
|
|
|
|
|
2023-07-07 04:55:26 +00:00
|
|
|
from updater import (
|
|
|
|
diff_zones,
|
|
|
|
RECORD_LINE_PATTERN,
|
|
|
|
)
|
2023-06-04 01:07:41 +00:00
|
|
|
|
|
|
|
|
|
|
|
def test_record_pattern():
|
|
|
|
assert re.match(RECORD_LINE_PATTERN, "foo 300 IN A 1.1.1.1")
|
|
|
|
assert re.match(RECORD_LINE_PATTERN, "foo\t 300\t IN \tA\t 1.1.1.1")
|
|
|
|
|
|
|
|
|
|
|
|
AT_RECORD = {
|
|
|
|
"comment": None,
|
|
|
|
"rrset_name": "@",
|
|
|
|
"rrset_ttl": 300,
|
|
|
|
"rrset_type": "A",
|
|
|
|
"rrset_values": ["67.166.27.157"],
|
|
|
|
}
|
|
|
|
A_RECORD = {
|
|
|
|
"comment": None,
|
|
|
|
"rrset_name": "www",
|
|
|
|
"rrset_ttl": 300,
|
|
|
|
"rrset_type": "A",
|
|
|
|
"rrset_values": ["67.166.27.157"],
|
|
|
|
}
|
|
|
|
REGISTRY_RECORD = {
|
|
|
|
"comment": None,
|
|
|
|
"rrset_name": "registry",
|
|
|
|
"rrset_ttl": 300,
|
|
|
|
"rrset_type": "A",
|
|
|
|
"rrset_values": ["67.166.27.157"],
|
|
|
|
}
|
|
|
|
MIRROR_RECORD = {
|
|
|
|
"comment": None,
|
|
|
|
"rrset_name": "mirror",
|
|
|
|
"rrset_ttl": 300,
|
|
|
|
"rrset_type": "A",
|
|
|
|
"rrset_values": ["67.166.27.157"],
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
def test_diff_zones():
|
|
|
|
z1 = [AT_RECORD, A_RECORD]
|
|
|
|
z2 = []
|
|
|
|
assert diff_zones(z1, z2) == z1, []
|
|
|
|
|
|
|
|
z1 = [AT_RECORD, A_RECORD]
|
|
|
|
z2 = [AT_RECORD]
|
|
|
|
assert diff_zones(z1, z2) == [A_RECORD], []
|
|
|
|
|
|
|
|
z1 = [AT_RECORD, A_RECORD]
|
|
|
|
z2 = [A_RECORD]
|
|
|
|
assert diff_zones(z1, z2) == [AT_RECORD], []
|
|
|
|
|
|
|
|
z2 = [AT_RECORD, A_RECORD]
|
|
|
|
z1 = [A_RECORD]
|
|
|
|
assert diff_zones(z1, z2) == [], [AT_RECORD]
|