mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Implement Dync populate dynamic, flesh out testing for all but dyn
This commit is contained in:
@@ -1906,10 +1906,11 @@ class TestDynamicRecords(TestCase):
|
||||
}],
|
||||
},
|
||||
'two': {
|
||||
# Testing out of order value sorting here
|
||||
'values': [{
|
||||
'value': '4.4.4.4',
|
||||
}, {
|
||||
'value': '5.5.5.5',
|
||||
}, {
|
||||
'value': '4.4.4.4',
|
||||
}],
|
||||
},
|
||||
'three': {
|
||||
@@ -1948,10 +1949,24 @@ class TestDynamicRecords(TestCase):
|
||||
|
||||
pools = dynamic.pools
|
||||
self.assertTrue(pools)
|
||||
self.assertEquals(a_data['dynamic']['pools']['one'], pools['one'].data)
|
||||
self.assertEquals(a_data['dynamic']['pools']['two'], pools['two'].data)
|
||||
self.assertEquals(a_data['dynamic']['pools']['three'],
|
||||
pools['three'].data)
|
||||
self.assertEquals({
|
||||
'value': '3.3.3.3',
|
||||
'weight': 1,
|
||||
}, pools['one'].data['values'][0])
|
||||
self.assertEquals([{
|
||||
'value': '4.4.4.4',
|
||||
'weight': 1,
|
||||
}, {
|
||||
'value': '5.5.5.5',
|
||||
'weight': 1,
|
||||
}], pools['two'].data['values'])
|
||||
self.assertEquals([{
|
||||
'weight': 10,
|
||||
'value': '4.4.4.4',
|
||||
}, {
|
||||
'weight': 12,
|
||||
'value': '5.5.5.5',
|
||||
}], pools['three'].data['values'])
|
||||
|
||||
rules = dynamic.rules
|
||||
self.assertTrue(rules)
|
||||
@@ -1994,10 +2009,11 @@ class TestDynamicRecords(TestCase):
|
||||
}],
|
||||
},
|
||||
'two': {
|
||||
# Testing out of order value sorting here
|
||||
'values': [{
|
||||
'value': '2601:642:500:e210:62f8:1dff:feb8:9474',
|
||||
}, {
|
||||
'value': '2601:642:500:e210:62f8:1dff:feb8:9475',
|
||||
}, {
|
||||
'value': '2601:642:500:e210:62f8:1dff:feb8:9474',
|
||||
}],
|
||||
},
|
||||
'three': {
|
||||
@@ -2036,12 +2052,24 @@ class TestDynamicRecords(TestCase):
|
||||
|
||||
pools = dynamic.pools
|
||||
self.assertTrue(pools)
|
||||
self.assertEquals(aaaa_data['dynamic']['pools']['one'],
|
||||
pools['one'].data)
|
||||
self.assertEquals(aaaa_data['dynamic']['pools']['two'],
|
||||
pools['two'].data)
|
||||
self.assertEquals(aaaa_data['dynamic']['pools']['three'],
|
||||
pools['three'].data)
|
||||
self.assertEquals({
|
||||
'value': '2601:642:500:e210:62f8:1dff:feb8:9473',
|
||||
'weight': 1,
|
||||
}, pools['one'].data['values'][0])
|
||||
self.assertEquals([{
|
||||
'value': '2601:642:500:e210:62f8:1dff:feb8:9474',
|
||||
'weight': 1,
|
||||
}, {
|
||||
'value': '2601:642:500:e210:62f8:1dff:feb8:9475',
|
||||
'weight': 1,
|
||||
}], pools['two'].data['values'])
|
||||
self.assertEquals([{
|
||||
'weight': 10,
|
||||
'value': '2601:642:500:e210:62f8:1dff:feb8:9476',
|
||||
}, {
|
||||
'weight': 12,
|
||||
'value': '2601:642:500:e210:62f8:1dff:feb8:9477',
|
||||
}], pools['three'].data['values'])
|
||||
|
||||
rules = dynamic.rules
|
||||
self.assertTrue(rules)
|
||||
@@ -2094,12 +2122,21 @@ class TestDynamicRecords(TestCase):
|
||||
|
||||
pools = dynamic.pools
|
||||
self.assertTrue(pools)
|
||||
self.assertEquals(cname_data['dynamic']['pools']['one'],
|
||||
pools['one'].data)
|
||||
self.assertEquals(cname_data['dynamic']['pools']['two'],
|
||||
pools['two'].data)
|
||||
self.assertEquals(cname_data['dynamic']['pools']['three'],
|
||||
pools['three'].data)
|
||||
self.assertEquals({
|
||||
'value': 'one.cname.target.',
|
||||
'weight': 1,
|
||||
}, pools['one'].data['values'][0])
|
||||
self.assertEquals({
|
||||
'value': 'two.cname.target.',
|
||||
'weight': 1,
|
||||
}, pools['two'].data['values'][0])
|
||||
self.assertEquals([{
|
||||
'value': 'three-1.cname.target.',
|
||||
'weight': 12,
|
||||
}, {
|
||||
'value': 'three-2.cname.target.',
|
||||
'weight': 32,
|
||||
}], pools['three'].data['values'])
|
||||
|
||||
rules = dynamic.rules
|
||||
self.assertTrue(rules)
|
||||
@@ -2906,9 +2943,10 @@ class TestDynamicRecords(TestCase):
|
||||
a_data = {
|
||||
'dynamic': {
|
||||
'rules': [{
|
||||
'pools': {
|
||||
1: 'one',
|
||||
}
|
||||
'geos': ['EU'],
|
||||
'pool': 'two',
|
||||
}, {
|
||||
'pool': 'one',
|
||||
}],
|
||||
},
|
||||
'ttl': 60,
|
||||
@@ -2928,7 +2966,19 @@ class TestDynamicRecords(TestCase):
|
||||
a_data = {
|
||||
'dynamic': {
|
||||
'pools': {
|
||||
'one': '1.1.1.1',
|
||||
'one': {
|
||||
'values': [{
|
||||
'value': '3.3.3.3',
|
||||
}]
|
||||
},
|
||||
'two': {
|
||||
'values': [{
|
||||
'value': '4.4.4.4',
|
||||
}, {
|
||||
'value': '5.5.5.5',
|
||||
'weight': 2,
|
||||
}]
|
||||
},
|
||||
},
|
||||
},
|
||||
'ttl': 60,
|
||||
@@ -2941,11 +2991,82 @@ class TestDynamicRecords(TestCase):
|
||||
a = Record.new(self.zone, 'bad', a_data, lenient=True)
|
||||
self.assertEquals({
|
||||
'pools': {
|
||||
'one': '1.1.1.1',
|
||||
'one': {
|
||||
'fallback': None,
|
||||
'values': [{
|
||||
'value': '3.3.3.3',
|
||||
'weight': 1,
|
||||
}]
|
||||
},
|
||||
'two': {
|
||||
'fallback': None,
|
||||
'values': [{
|
||||
'value': '4.4.4.4',
|
||||
'weight': 1,
|
||||
}, {
|
||||
'value': '5.5.5.5',
|
||||
'weight': 2,
|
||||
}]
|
||||
},
|
||||
},
|
||||
'rules': [],
|
||||
}, a._data()['dynamic'])
|
||||
|
||||
# rule without pool
|
||||
a_data = {
|
||||
'dynamic': {
|
||||
'pools': {
|
||||
'one': {
|
||||
'values': [{
|
||||
'value': '3.3.3.3',
|
||||
}]
|
||||
},
|
||||
'two': {
|
||||
'values': [{
|
||||
'value': '4.4.4.4',
|
||||
}, {
|
||||
'value': '5.5.5.5',
|
||||
'weight': 2,
|
||||
}]
|
||||
},
|
||||
},
|
||||
'rules': [{
|
||||
'geos': ['EU'],
|
||||
'pool': 'two',
|
||||
}, {
|
||||
}],
|
||||
},
|
||||
'ttl': 60,
|
||||
'type': 'A',
|
||||
'values': [
|
||||
'1.1.1.1',
|
||||
'2.2.2.2',
|
||||
],
|
||||
}
|
||||
a = Record.new(self.zone, 'bad', a_data, lenient=True)
|
||||
self.assertEquals({
|
||||
'pools': {
|
||||
'one': {
|
||||
'fallback': None,
|
||||
'values': [{
|
||||
'value': '3.3.3.3',
|
||||
'weight': 1,
|
||||
}]
|
||||
},
|
||||
'two': {
|
||||
'fallback': None,
|
||||
'values': [{
|
||||
'value': '4.4.4.4',
|
||||
'weight': 1,
|
||||
}, {
|
||||
'value': '5.5.5.5',
|
||||
'weight': 2,
|
||||
}]
|
||||
},
|
||||
},
|
||||
'rules': a_data['dynamic']['rules'],
|
||||
}, a._data()['dynamic'])
|
||||
|
||||
def test_dynamic_changes(self):
|
||||
simple = SimpleProvider()
|
||||
dynamic = DynamicProvider()
|
||||
@@ -2953,17 +3074,24 @@ class TestDynamicRecords(TestCase):
|
||||
a_data = {
|
||||
'dynamic': {
|
||||
'pools': {
|
||||
'one': '3.3.3.3',
|
||||
'two': [
|
||||
'4.4.4.4',
|
||||
'5.5.5.5',
|
||||
],
|
||||
'one': {
|
||||
'values': [{
|
||||
'value': '3.3.3.3',
|
||||
}]
|
||||
},
|
||||
'two': {
|
||||
'values': [{
|
||||
'value': '4.4.4.4',
|
||||
}, {
|
||||
'value': '5.5.5.5',
|
||||
}]
|
||||
},
|
||||
},
|
||||
'rules': [{
|
||||
'pools': {
|
||||
100: 'one',
|
||||
200: 'two',
|
||||
}
|
||||
'geos': ['EU'],
|
||||
'pool': 'two',
|
||||
}, {
|
||||
'pool': 'one',
|
||||
}],
|
||||
},
|
||||
'ttl': 60,
|
||||
@@ -2978,17 +3106,25 @@ class TestDynamicRecords(TestCase):
|
||||
b_data = {
|
||||
'dynamic': {
|
||||
'pools': {
|
||||
'one': '3.3.3.5',
|
||||
'two': [
|
||||
'4.4.4.4',
|
||||
'5.5.5.5',
|
||||
],
|
||||
'one': {
|
||||
'values': [{
|
||||
'value': '3.3.3.3',
|
||||
}]
|
||||
},
|
||||
'two': {
|
||||
'values': [{
|
||||
'value': '4.4.4.4',
|
||||
'weight': 2,
|
||||
}, {
|
||||
'value': '5.5.5.5',
|
||||
}]
|
||||
},
|
||||
},
|
||||
'rules': [{
|
||||
'pools': {
|
||||
100: 'one',
|
||||
200: 'two',
|
||||
}
|
||||
'geos': ['EU'],
|
||||
'pool': 'two',
|
||||
}, {
|
||||
'pool': 'one',
|
||||
}],
|
||||
},
|
||||
'ttl': 60,
|
||||
@@ -3002,17 +3138,24 @@ class TestDynamicRecords(TestCase):
|
||||
c_data = {
|
||||
'dynamic': {
|
||||
'pools': {
|
||||
'one': '3.3.3.3',
|
||||
'two': [
|
||||
'4.4.4.4',
|
||||
'5.5.5.5',
|
||||
],
|
||||
'one': {
|
||||
'values': [{
|
||||
'value': '3.3.3.3',
|
||||
}]
|
||||
},
|
||||
'two': {
|
||||
'values': [{
|
||||
'value': '4.4.4.4',
|
||||
}, {
|
||||
'value': '5.5.5.5',
|
||||
}]
|
||||
},
|
||||
},
|
||||
'rules': [{
|
||||
'pools': {
|
||||
100: 'one',
|
||||
300: 'two',
|
||||
}
|
||||
'geos': ['NA'],
|
||||
'pool': 'two',
|
||||
}, {
|
||||
'pool': 'one',
|
||||
}],
|
||||
},
|
||||
'ttl': 60,
|
||||
|
Reference in New Issue
Block a user