mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Fix auto arpa formatting
This commit is contained in:
@@ -11,14 +11,16 @@ from .base import BaseProcessor
|
||||
|
||||
|
||||
class AutoArpa(BaseProcessor):
|
||||
def __init__(self, name, ttl=3600, populate_should_replace=False, max_auto_arpa=999):
|
||||
def __init__(
|
||||
self, name, ttl=3600, populate_should_replace=False, max_auto_arpa=999
|
||||
):
|
||||
super().__init__(name)
|
||||
self.log = getLogger(f'AutoArpa[{name}]')
|
||||
self.log.info(
|
||||
'__init__: ttl=%d, populate_should_replace=%s, max_auto_arpa=%d',
|
||||
ttl,
|
||||
populate_should_replace,
|
||||
max_auto_arpa
|
||||
max_auto_arpa,
|
||||
)
|
||||
self.ttl = ttl
|
||||
self.populate_should_replace = populate_should_replace
|
||||
@@ -39,8 +41,12 @@ class AutoArpa(BaseProcessor):
|
||||
|
||||
for ip in ips:
|
||||
ptr = ip_address(ip).reverse_pointer
|
||||
auto_arpa_priority = record.octodns.get('auto_arpa_priority', 999)
|
||||
self._records[f'{ptr}.'].append((auto_arpa_priority, record.fqdn))
|
||||
auto_arpa_priority = record.octodns.get(
|
||||
'auto_arpa_priority', 999
|
||||
)
|
||||
self._records[f'{ptr}.'].append(
|
||||
(auto_arpa_priority, record.fqdn)
|
||||
)
|
||||
|
||||
return desired
|
||||
|
||||
|
||||
@@ -123,7 +123,7 @@ class TestAutoArpa(TestCase):
|
||||
'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.')]
|
||||
'5.5.5.5.in-addr.arpa.': [(999, 'geo.unit.tests.')],
|
||||
},
|
||||
aa._records,
|
||||
)
|
||||
@@ -165,13 +165,18 @@ class TestAutoArpa(TestCase):
|
||||
zone.add_record(record)
|
||||
aa = AutoArpa('auto-arpa')
|
||||
aa.process_source_zone(zone, [])
|
||||
zones = ['4.3.2.1.in-addr.arpa.', '5.3.2.1.in-addr.arpa.', '3.3.3.3.in-addr.arpa.', '4.4.4.4.in-addr.arpa.', '5.5.5.5.in-addr.arpa.']
|
||||
zones = [
|
||||
'4.3.2.1.in-addr.arpa.',
|
||||
'5.3.2.1.in-addr.arpa.',
|
||||
'3.3.3.3.in-addr.arpa.',
|
||||
'4.4.4.4.in-addr.arpa.',
|
||||
'5.5.5.5.in-addr.arpa.',
|
||||
]
|
||||
for zone in zones:
|
||||
unique_values = aa._order_and_unique_fqdns(aa._records[f'{zone}'], 999)
|
||||
self.assertEqual(
|
||||
[('dynamic.unit.tests.')],
|
||||
unique_values
|
||||
unique_values = aa._order_and_unique_fqdns(
|
||||
aa._records[f'{zone}'], 999
|
||||
)
|
||||
self.assertEqual([('dynamic.unit.tests.')], unique_values)
|
||||
|
||||
def test_multiple_names(self):
|
||||
zone = Zone('unit.tests.', [])
|
||||
@@ -187,11 +192,15 @@ class TestAutoArpa(TestCase):
|
||||
aa.process_source_zone(zone, [])
|
||||
sorted_records = sorted(aa._records['4.3.2.1.in-addr.arpa.'])
|
||||
self.assertEqual(
|
||||
{'4.3.2.1.in-addr.arpa.': [(999, 'a1.unit.tests.'), (999, 'a2.unit.tests.')]},
|
||||
{'4.3.2.1.in-addr.arpa.': sorted_records }
|
||||
{
|
||||
'4.3.2.1.in-addr.arpa.': [
|
||||
(999, 'a1.unit.tests.'),
|
||||
(999, 'a2.unit.tests.'),
|
||||
]
|
||||
},
|
||||
{'4.3.2.1.in-addr.arpa.': sorted_records},
|
||||
)
|
||||
|
||||
|
||||
# matching zone
|
||||
arpa = Zone('3.2.1.in-addr.arpa.', [])
|
||||
aa.populate(arpa)
|
||||
@@ -267,13 +276,25 @@ class TestAutoArpa(TestCase):
|
||||
aa = AutoArpa('auto-arpa')
|
||||
|
||||
duplicate_values = [(999, 'a.unit.tests.'), (1, 'a.unit.tests.')]
|
||||
self.assertEqual(['a.unit.tests.'], aa._order_and_unique_fqdns(duplicate_values, max_auto_arpa=999))
|
||||
self.assertEqual(
|
||||
['a.unit.tests.'],
|
||||
aa._order_and_unique_fqdns(duplicate_values, max_auto_arpa=999),
|
||||
)
|
||||
|
||||
duplicate_values_2 = [(999, 'a.unit.tests.'), (999, 'a.unit.tests.')]
|
||||
self.assertEqual(['a.unit.tests.'], aa._order_and_unique_fqdns(duplicate_values_2, max_auto_arpa=999))
|
||||
self.assertEqual(
|
||||
['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.')]
|
||||
self.assertEqual(['b.unit.tests.', 'a.unit.tests.'], aa._order_and_unique_fqdns(ordered_values, max_auto_arpa=999))
|
||||
self.assertEqual(
|
||||
['b.unit.tests.', '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.')]
|
||||
self.assertEqual(['b.unit.tests.'], aa._order_and_unique_fqdns(max_one_value, max_auto_arpa=1))
|
||||
self.assertEqual(
|
||||
['b.unit.tests.'],
|
||||
aa._order_and_unique_fqdns(max_one_value, max_auto_arpa=1),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user