Browse Source

Pass lenient through to arpa processor

pull/1010/head
Nathan Tat 3 years ago
parent
commit
7e931080f4
2 changed files with 43 additions and 1 deletions
  1. +6
    -1
      octodns/processor/arpa.py
  2. +37
    -0
      tests/test_octodns_processor_arpa.py

+ 6
- 1
octodns/processor/arpa.py View File

@ -61,8 +61,13 @@ class AutoArpa(BaseProcessor):
zone, zone,
name, name,
{'ttl': self.ttl, 'type': 'PTR', 'values': fqdns}, {'ttl': self.ttl, 'type': 'PTR', 'values': fqdns},
lenient=lenient,
)
zone.add_record(
record,
replace=self.populate_should_replace,
lenient=lenient,
) )
zone.add_record(record, replace=self.populate_should_replace)
self.log.info( self.log.info(
'populate: found %s records', len(zone.records) - before 'populate: found %s records', len(zone.records) - before


+ 37
- 0
tests/test_octodns_processor_arpa.py View File

@ -6,6 +6,7 @@ from unittest import TestCase
from octodns.processor.arpa import AutoArpa from octodns.processor.arpa import AutoArpa
from octodns.record import Record from octodns.record import Record
from octodns.record.exception import ValidationError
from octodns.zone import Zone from octodns.zone import Zone
@ -226,3 +227,39 @@ class TestAutoArpa(TestCase):
arpa = Zone('0.10.in-addr.arpa.', []) arpa = Zone('0.10.in-addr.arpa.', [])
aa.populate(arpa) aa.populate(arpa)
self.assertEqual(0, len(arpa.records)) self.assertEqual(0, len(arpa.records))
def test_single_value_A_with_space(self):
zone = Zone('unit.tests.', [])
# invalid record without lenient
with self.assertRaises(ValidationError):
Record.new(
zone,
'a with spaces',
{'ttl': 32, 'type': 'A', 'value': '1.2.3.4'},
)
# invalid record with lenient
lenient = True
record = Record.new(
zone,
'a with spaces',
{'ttl': 32, 'type': 'A', 'value': '1.2.3.4'},
lenient=lenient,
)
zone.add_record(record)
aa = AutoArpa('auto-arpa')
aa.process_source_zone(zone, [])
self.assertEqual(
{'4.3.2.1.in-addr.arpa.': {'a with spaces.unit.tests.'}},
aa._records,
)
# matching zone
arpa = Zone('3.2.1.in-addr.arpa.', [])
aa.populate(arpa, lenient=lenient)
self.assertEqual(1, len(arpa.records))
(ptr,) = arpa.records
self.assertEqual('4.3.2.1.in-addr.arpa.', ptr.fqdn)
self.assertEqual(record.fqdn, ptr.value)
self.assertEqual(3600, ptr.ttl)

Loading…
Cancel
Save