1
0
mirror of https://github.com/github/octodns.git synced 2024-05-11 05:55:00 +00:00

Test coverage for Ns1Provider _params_for_dynamic_A

This commit is contained in:
Ross McFarland
2020-01-06 08:31:35 -08:00
parent 0f298e51be
commit 561a6ca2d9

View File

@@ -523,6 +523,12 @@ class TestNs1ProviderDynamic(TestCase):
record = Record.new(zone, '', {
'dynamic': {
'pools': {
'lhr': {
'fallback': 'iad',
'values': [{
'value': '3.4.5.6',
}],
},
'iad': {
'values': [{
'value': '1.2.3.4',
@@ -532,6 +538,13 @@ class TestNs1ProviderDynamic(TestCase):
},
},
'rules': [{
'geos': [
'AF',
'EU-GB',
'NA-US-FL'
],
'pool': 'lhr',
}, {
'pool': 'iad',
}],
},
@@ -912,6 +925,38 @@ class TestNs1ProviderDynamic(TestCase):
monitors_delete_mock.assert_has_calls([call('mon-id2')])
notifylists_delete_mock.assert_has_calls([call('nl-id2')])
@patch('octodns.provider.ns1.Ns1Provider._monitor_sync')
@patch('octodns.provider.ns1.Ns1Provider._monitors_for')
def test_params_for_dynamic(self, monitors_for_mock, monitors_sync_mock):
provider = Ns1Provider('test', 'api-key')
# pre-fill caches to avoid extranious calls (things we're testing
# elsewhere)
provider._client._datasource_id = 'foo'
provider._client._feeds_for_monitors = {
'mon-id': 'feed-id',
}
monitors_for_mock.reset_mock()
monitors_sync_mock.reset_mock()
monitors_for_mock.side_effect = [{
'3.4.5.6': 'mid-3',
}]
monitors_sync_mock.side_effect = [
('mid-1', 'fid-1'),
('mid-2', 'fid-2'),
('mid-3', 'fid-3'),
]
# This indirectly calls into _params_for_dynamic_A and tests the
# handling to get there
provider._params_for_A(self.record)
monitors_for_mock.assert_has_calls([call(self.record)])
monitors_sync_mock.assert_has_calls([
call(self.record, '1.2.3.4', None),
call(self.record, '2.3.4.5', None),
call(self.record, '3.4.5.6', 'mid-3'),
])
class TestNs1Client(TestCase):