mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Merge branch 'main' into ensure-trailing-dots-fix
This commit is contained in:
@@ -27,7 +27,8 @@ class TestAutoArpa(TestCase):
|
||||
aa = AutoArpa('auto-arpa')
|
||||
aa.process_source_zone(zone, [])
|
||||
self.assertEqual(
|
||||
{'4.3.2.1.in-addr.arpa.': [(999, 'a.unit.tests.')]}, aa._records
|
||||
{'4.3.2.1.in-addr.arpa.': [(999, 3600, 'a.unit.tests.')]},
|
||||
aa._records,
|
||||
)
|
||||
|
||||
# matching zone
|
||||
@@ -56,8 +57,8 @@ class TestAutoArpa(TestCase):
|
||||
aa.process_source_zone(zone, [])
|
||||
self.assertEqual(
|
||||
{
|
||||
'4.3.2.1.in-addr.arpa.': [(999, 'a.unit.tests.')],
|
||||
'5.3.2.1.in-addr.arpa.': [(999, 'a.unit.tests.')],
|
||||
'4.3.2.1.in-addr.arpa.': [(999, 1600, 'a.unit.tests.')],
|
||||
'5.3.2.1.in-addr.arpa.': [(999, 1600, 'a.unit.tests.')],
|
||||
},
|
||||
aa._records,
|
||||
)
|
||||
@@ -81,7 +82,9 @@ class TestAutoArpa(TestCase):
|
||||
aa = AutoArpa('auto-arpa')
|
||||
aa.process_source_zone(zone, [])
|
||||
ip6_arpa = '2.0.0.0.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.c.0.0.0.f.f.0.0.ip6.arpa.'
|
||||
self.assertEqual({ip6_arpa: [(999, 'aaaa.unit.tests.')]}, aa._records)
|
||||
self.assertEqual(
|
||||
{ip6_arpa: [(999, 3600, 'aaaa.unit.tests.')]}, aa._records
|
||||
)
|
||||
|
||||
# matching zone
|
||||
arpa = Zone('c.0.0.0.f.f.0.0.ip6.arpa.', [])
|
||||
@@ -117,13 +120,13 @@ class TestAutoArpa(TestCase):
|
||||
aa.process_source_zone(zone, [])
|
||||
self.assertEqual(
|
||||
{
|
||||
'4.3.2.1.in-addr.arpa.': [(999, 'geo.unit.tests.')],
|
||||
'5.3.2.1.in-addr.arpa.': [(999, 'geo.unit.tests.')],
|
||||
'1.1.1.1.in-addr.arpa.': [(999, 'geo.unit.tests.')],
|
||||
'2.2.2.2.in-addr.arpa.': [(999, 'geo.unit.tests.')],
|
||||
'3.3.3.3.in-addr.arpa.': [(999, 'geo.unit.tests.')],
|
||||
'4.4.4.4.in-addr.arpa.': [(999, 'geo.unit.tests.')],
|
||||
'5.5.5.5.in-addr.arpa.': [(999, 'geo.unit.tests.')],
|
||||
'4.3.2.1.in-addr.arpa.': [(999, 3600, 'geo.unit.tests.')],
|
||||
'5.3.2.1.in-addr.arpa.': [(999, 3600, 'geo.unit.tests.')],
|
||||
'1.1.1.1.in-addr.arpa.': [(999, 3600, 'geo.unit.tests.')],
|
||||
'2.2.2.2.in-addr.arpa.': [(999, 3600, 'geo.unit.tests.')],
|
||||
'3.3.3.3.in-addr.arpa.': [(999, 3600, 'geo.unit.tests.')],
|
||||
'4.4.4.4.in-addr.arpa.': [(999, 3600, 'geo.unit.tests.')],
|
||||
'5.5.5.5.in-addr.arpa.': [(999, 3600, 'geo.unit.tests.')],
|
||||
},
|
||||
aa._records,
|
||||
)
|
||||
@@ -176,7 +179,7 @@ class TestAutoArpa(TestCase):
|
||||
unique_values = aa._order_and_unique_fqdns(
|
||||
aa._records[f'{zone}'], 999
|
||||
)
|
||||
self.assertEqual([('dynamic.unit.tests.')], unique_values)
|
||||
self.assertEqual([(3600, 'dynamic.unit.tests.')], unique_values)
|
||||
|
||||
def test_multiple_names(self):
|
||||
zone = Zone('unit.tests.', [])
|
||||
@@ -194,8 +197,8 @@ class TestAutoArpa(TestCase):
|
||||
self.assertEqual(
|
||||
{
|
||||
'4.3.2.1.in-addr.arpa.': [
|
||||
(999, 'a1.unit.tests.'),
|
||||
(999, 'a2.unit.tests.'),
|
||||
(999, 3600, 'a1.unit.tests.'),
|
||||
(999, 3600, 'a2.unit.tests.'),
|
||||
]
|
||||
},
|
||||
{'4.3.2.1.in-addr.arpa.': sorted_records},
|
||||
@@ -219,7 +222,8 @@ class TestAutoArpa(TestCase):
|
||||
aa = AutoArpa('auto-arpa')
|
||||
aa.process_source_zone(zone, [])
|
||||
self.assertEqual(
|
||||
{'4.3.20.10.in-addr.arpa.': [(999, 'a.unit.tests.')]}, aa._records
|
||||
{'4.3.20.10.in-addr.arpa.': [(999, 3600, 'a.unit.tests.')]},
|
||||
aa._records,
|
||||
)
|
||||
|
||||
# matching zone
|
||||
@@ -259,7 +263,11 @@ class TestAutoArpa(TestCase):
|
||||
aa = AutoArpa('auto-arpa')
|
||||
aa.process_source_zone(zone, [])
|
||||
self.assertEqual(
|
||||
{'4.3.2.1.in-addr.arpa.': [(999, 'a with spaces.unit.tests.')]},
|
||||
{
|
||||
'4.3.2.1.in-addr.arpa.': [
|
||||
(999, 3600, 'a with spaces.unit.tests.')
|
||||
]
|
||||
},
|
||||
aa._records,
|
||||
)
|
||||
|
||||
@@ -275,43 +283,87 @@ class TestAutoArpa(TestCase):
|
||||
def test_arpa_priority(self):
|
||||
aa = AutoArpa('auto-arpa')
|
||||
|
||||
duplicate_values = [(999, 'a.unit.tests.'), (1, 'a.unit.tests.')]
|
||||
duplicate_values = [
|
||||
(999, 3600, 'a.unit.tests.'),
|
||||
(1, 3600, 'a.unit.tests.'),
|
||||
]
|
||||
self.assertEqual(
|
||||
['a.unit.tests.'],
|
||||
[(3600, 'a.unit.tests.')],
|
||||
aa._order_and_unique_fqdns(duplicate_values, max_auto_arpa=999),
|
||||
)
|
||||
|
||||
duplicate_values = [
|
||||
(50, 'd.unit.tests.'),
|
||||
(999, 'dup.unit.tests.'),
|
||||
(3, 'a.unit.tests.'),
|
||||
(1, 'dup.unit.tests.'),
|
||||
(2, 'c.unit.tests.'),
|
||||
(50, 3600, 'd.unit.tests.'),
|
||||
(999, 3600, 'dup.unit.tests.'),
|
||||
(3, 3600, 'a.unit.tests.'),
|
||||
(1, 3600, 'dup.unit.tests.'),
|
||||
(2, 3600, 'c.unit.tests.'),
|
||||
]
|
||||
self.assertEqual(
|
||||
[
|
||||
'dup.unit.tests.',
|
||||
'c.unit.tests.',
|
||||
'a.unit.tests.',
|
||||
'd.unit.tests.',
|
||||
(3600, 'dup.unit.tests.'),
|
||||
(3600, 'c.unit.tests.'),
|
||||
(3600, 'a.unit.tests.'),
|
||||
(3600, 'd.unit.tests.'),
|
||||
],
|
||||
aa._order_and_unique_fqdns(duplicate_values, max_auto_arpa=999),
|
||||
)
|
||||
|
||||
duplicate_values_2 = [(999, 'a.unit.tests.'), (999, 'a.unit.tests.')]
|
||||
duplicate_values_2 = [
|
||||
(999, 3600, 'a.unit.tests.'),
|
||||
(999, 3600, 'a.unit.tests.'),
|
||||
]
|
||||
self.assertEqual(
|
||||
['a.unit.tests.'],
|
||||
[(3600, 'a.unit.tests.')],
|
||||
aa._order_and_unique_fqdns(duplicate_values_2, max_auto_arpa=999),
|
||||
)
|
||||
|
||||
ordered_values = [(999, 'a.unit.tests.'), (1, 'b.unit.tests.')]
|
||||
ordered_values = [
|
||||
(999, 3600, 'a.unit.tests.'),
|
||||
(1, 3600, 'b.unit.tests.'),
|
||||
]
|
||||
self.assertEqual(
|
||||
['b.unit.tests.', 'a.unit.tests.'],
|
||||
[(3600, 'b.unit.tests.'), (3600, 'a.unit.tests.')],
|
||||
aa._order_and_unique_fqdns(ordered_values, max_auto_arpa=999),
|
||||
)
|
||||
|
||||
max_one_value = [(999, 'a.unit.tests.'), (1, 'b.unit.tests.')]
|
||||
max_one_value = [
|
||||
(999, 3600, 'a.unit.tests.'),
|
||||
(1, 3600, 'b.unit.tests.'),
|
||||
]
|
||||
self.assertEqual(
|
||||
['b.unit.tests.'],
|
||||
[(3600, 'b.unit.tests.')],
|
||||
aa._order_and_unique_fqdns(max_one_value, max_auto_arpa=1),
|
||||
)
|
||||
|
||||
def test_arpa_inherit_ttl(self):
|
||||
zone = Zone('unit.tests.', [])
|
||||
record = Record.new(
|
||||
zone, 'a1', {'ttl': 32, 'type': 'A', 'value': '1.2.3.4'}
|
||||
)
|
||||
zone.add_record(record)
|
||||
|
||||
record2 = Record.new(
|
||||
zone,
|
||||
'a2',
|
||||
{
|
||||
'ttl': 64,
|
||||
'type': 'A',
|
||||
'value': '1.2.3.4',
|
||||
'octodns': {'auto_arpa_priority': 1},
|
||||
},
|
||||
)
|
||||
zone.add_record(record2)
|
||||
|
||||
record3 = Record.new(
|
||||
zone, 'a3', {'ttl': 128, 'type': 'A', 'value': '1.2.3.4'}
|
||||
)
|
||||
zone.add_record(record3)
|
||||
|
||||
aa = AutoArpa('auto-arpa', 3600, False, 999, True)
|
||||
aa.process_source_zone(zone, [])
|
||||
|
||||
arpa = Zone('3.2.1.in-addr.arpa.', [])
|
||||
aa.populate(arpa)
|
||||
(ptr,) = arpa.records
|
||||
self.assertEqual(64, ptr.ttl)
|
||||
|
||||
Reference in New Issue
Block a user