Browse Source

Retain octodns settings on record copy

pull/782/head
Viranch Mehta 4 years ago
parent
commit
7d7a1361b2
No known key found for this signature in database GPG Key ID: D83D1392AE9F93B4
2 changed files with 32 additions and 0 deletions
  1. +1
    -0
      octodns/record/__init__.py
  2. +31
    -0
      tests/test_octodns_record.py

+ 1
- 0
octodns/record/__init__.py View File

@ -222,6 +222,7 @@ class Record(EqualityTupleMixin):
def copy(self, zone=None): def copy(self, zone=None):
data = self.data data = self.data
data['type'] = self._type data['type'] = self._type
data['octodns'] = self._octodns
return Record.new( return Record.new(
zone if zone else self.zone, zone if zone else self.zone,


+ 31
- 0
tests/test_octodns_record.py View File

@ -1055,6 +1055,37 @@ class TestRecord(TestCase):
d.copy() d.copy()
self.assertEquals('TXT', d._type) self.assertEquals('TXT', d._type)
def test_dynamic_record_copy(self):
a_data = {
'dynamic': {
'pools': {
'one': {
'values': [{
'value': '3.3.3.3',
}],
},
},
'rules': [{
'pool': 'one',
}],
},
'octodns': {
'healthcheck': {
'protocol': 'TCP',
'port': 80,
},
},
'ttl': 60,
'type': 'A',
'values': [
'1.1.1.1',
'2.2.2.2',
],
}
record1 = Record.new(self.zone, 'a', a_data)
record2 = record1.copy()
self.assertEqual(record1._octodns, record2._octodns)
def test_change(self): def test_change(self):
existing = Record.new(self.zone, 'txt', { existing = Record.new(self.zone, 'txt', {
'ttl': 44, 'ttl': 44,


Loading…
Cancel
Save