|
|
|
@ -769,18 +769,19 @@ class TestCloudflareProvider(TestCase): |
|
|
|
plan = provider.plan(wanted) |
|
|
|
self.assertEquals(False, hasattr(plan, 'changes')) |
|
|
|
|
|
|
|
def test_proxied_ignore_ttl(self): |
|
|
|
def test_unproxiabletype_recordfor_returnsrecordwithnocloudflare(self): |
|
|
|
provider = CloudflareProvider('test', 'email', 'token') |
|
|
|
|
|
|
|
provider.zone_records = Mock(return_value=[ |
|
|
|
name = "unit.tests" |
|
|
|
_type = "NS" |
|
|
|
zone_records = [ |
|
|
|
{ |
|
|
|
"id": "fc12ab34cd5611334422ab3322997642", |
|
|
|
"type": "A", |
|
|
|
"name": "unit.tests.a", |
|
|
|
"content": "1.2.3.4", |
|
|
|
"id": "fc12ab34cd5611334422ab3322997654", |
|
|
|
"type": _type, |
|
|
|
"name": name, |
|
|
|
"content": "ns2.foo.bar", |
|
|
|
"proxiable": True, |
|
|
|
"proxied": True, |
|
|
|
"ttl": 1, |
|
|
|
"proxied": False, |
|
|
|
"ttl": 300, |
|
|
|
"locked": False, |
|
|
|
"zone_id": "ff12ab34cd5611334422ab3322997650", |
|
|
|
"zone_name": "unit.tests", |
|
|
|
@ -789,15 +790,29 @@ class TestCloudflareProvider(TestCase): |
|
|
|
"meta": { |
|
|
|
"auto_added": False |
|
|
|
} |
|
|
|
}, |
|
|
|
} |
|
|
|
] |
|
|
|
provider.zone_records = Mock(return_value=zone_records) |
|
|
|
zone = Zone('unit.tests.', []) |
|
|
|
provider.populate(zone) |
|
|
|
|
|
|
|
record = provider._record_for(zone, name, _type, zone_records, False) |
|
|
|
|
|
|
|
self.assertFalse('cloudflare' in record._octodns) |
|
|
|
|
|
|
|
def test_proxiabletype_recordfor_retrecordwithcloudflareunproxied(self): |
|
|
|
provider = CloudflareProvider('test', 'email', 'token') |
|
|
|
name = "multi.unit.tests" |
|
|
|
_type = "AAAA" |
|
|
|
zone_records = [ |
|
|
|
{ |
|
|
|
"id": "fc12ab34cd5611334422ab3322997643", |
|
|
|
"type": "AAAA", |
|
|
|
"name": "unit.tests.aaaa", |
|
|
|
"id": "fc12ab34cd5611334422ab3322997642", |
|
|
|
"type": _type, |
|
|
|
"name": name, |
|
|
|
"content": "::1", |
|
|
|
"proxiable": True, |
|
|
|
"proxied": True, |
|
|
|
"ttl": 1, |
|
|
|
"proxied": False, |
|
|
|
"ttl": 300, |
|
|
|
"locked": False, |
|
|
|
"zone_id": "ff12ab34cd5611334422ab3322997650", |
|
|
|
"zone_name": "unit.tests", |
|
|
|
@ -806,15 +821,29 @@ class TestCloudflareProvider(TestCase): |
|
|
|
"meta": { |
|
|
|
"auto_added": False |
|
|
|
} |
|
|
|
}, |
|
|
|
} |
|
|
|
] |
|
|
|
provider.zone_records = Mock(return_value=zone_records) |
|
|
|
zone = Zone('unit.tests.', []) |
|
|
|
provider.populate(zone) |
|
|
|
|
|
|
|
record = provider._record_for(zone, name, _type, zone_records, False) |
|
|
|
|
|
|
|
self.assertFalse(record._octodns['cloudflare']['proxied']) |
|
|
|
|
|
|
|
def test_proxiabletype_recordfor_returnsrecordwithcloudflareproxied(self): |
|
|
|
provider = CloudflareProvider('test', 'email', 'token') |
|
|
|
name = "multi.unit.tests" |
|
|
|
_type = "AAAA" |
|
|
|
zone_records = [ |
|
|
|
{ |
|
|
|
"id": "fc12ab34cd5611334422ab3322997644", |
|
|
|
"type": "CNAME", |
|
|
|
"name": "unit.tests.cname", |
|
|
|
"content": "www.unit.tests", |
|
|
|
"id": "fc12ab34cd5611334422ab3322997642", |
|
|
|
"type": _type, |
|
|
|
"name": name, |
|
|
|
"content": "::1", |
|
|
|
"proxiable": True, |
|
|
|
"proxied": True, |
|
|
|
"ttl": 1, |
|
|
|
"ttl": 300, |
|
|
|
"locked": False, |
|
|
|
"zone_id": "ff12ab34cd5611334422ab3322997650", |
|
|
|
"zone_name": "unit.tests", |
|
|
|
@ -823,89 +852,93 @@ class TestCloudflareProvider(TestCase): |
|
|
|
"meta": { |
|
|
|
"auto_added": False |
|
|
|
} |
|
|
|
}, |
|
|
|
]) |
|
|
|
|
|
|
|
} |
|
|
|
] |
|
|
|
provider.zone_records = Mock(return_value=zone_records) |
|
|
|
zone = Zone('unit.tests.', []) |
|
|
|
provider.populate(zone) |
|
|
|
|
|
|
|
wanted = Zone('unit.tests.', []) |
|
|
|
wanted.add_record( |
|
|
|
set_record_proxied_flag( |
|
|
|
Record.new(wanted, 'unit.tests.a', { |
|
|
|
'ttl': 120, |
|
|
|
'type': 'A', |
|
|
|
'value': '1.2.3.4' |
|
|
|
}), True |
|
|
|
) |
|
|
|
) |
|
|
|
wanted.add_record( |
|
|
|
set_record_proxied_flag( |
|
|
|
Record.new(wanted, 'unit.tests.aaaa', { |
|
|
|
'ttl': 250, |
|
|
|
'type': 'AAAA', |
|
|
|
'value': '::1' |
|
|
|
}), True |
|
|
|
) |
|
|
|
record = provider._record_for(zone, name, _type, zone_records, False) |
|
|
|
|
|
|
|
self.assertTrue(record._octodns['cloudflare']['proxied']) |
|
|
|
|
|
|
|
def test_proxiedrecordandnewttl_includechange_returnsfalse(self): |
|
|
|
provider = CloudflareProvider('test', 'email', 'token') |
|
|
|
zone = Zone('unit.tests.', []) |
|
|
|
existing = set_record_proxied_flag( |
|
|
|
Record.new(zone, 'a', { |
|
|
|
'ttl': 1, |
|
|
|
'type': 'A', |
|
|
|
'values': ['1.1.1.1', '2.2.2.2'] |
|
|
|
}), True |
|
|
|
) |
|
|
|
wanted.add_record( |
|
|
|
set_record_proxied_flag( |
|
|
|
Record.new(wanted, 'unit.tests.cname', { |
|
|
|
'ttl': 300, |
|
|
|
'type': 'CNAME', |
|
|
|
'value': 'www.unit.tests.' |
|
|
|
}), True |
|
|
|
) |
|
|
|
new = Record.new(zone, 'a', { |
|
|
|
'ttl': 300, |
|
|
|
'type': 'A', |
|
|
|
'values': ['1.1.1.1', '2.2.2.2'] |
|
|
|
}) |
|
|
|
change = Update(existing, new) |
|
|
|
|
|
|
|
include_change = provider._include_change(change) |
|
|
|
|
|
|
|
self.assertFalse(include_change) |
|
|
|
|
|
|
|
def test_unproxiabletype_gendata_returnsnoproxied(self): |
|
|
|
provider = CloudflareProvider('test', 'email', 'token') |
|
|
|
zone = Zone('unit.tests.', []) |
|
|
|
record = Record.new(zone, 'a', { |
|
|
|
'ttl': 3600, |
|
|
|
'type': 'NS', |
|
|
|
'value': 'ns1.unit.tests.' |
|
|
|
}) |
|
|
|
|
|
|
|
data = provider._gen_data(record).next() |
|
|
|
|
|
|
|
self.assertFalse('proxied' in data) |
|
|
|
|
|
|
|
def test_proxiabletype_gendata_returnsunproxied(self): |
|
|
|
provider = CloudflareProvider('test', 'email', 'token') |
|
|
|
zone = Zone('unit.tests.', []) |
|
|
|
record = set_record_proxied_flag( |
|
|
|
Record.new(zone, 'a', { |
|
|
|
'ttl': 300, |
|
|
|
'type': 'A', |
|
|
|
'value': '1.2.3.4' |
|
|
|
}), False |
|
|
|
) |
|
|
|
|
|
|
|
plan = provider.plan(wanted) |
|
|
|
self.assertEquals(False, hasattr(plan, 'changes')) |
|
|
|
data = provider._gen_data(record).next() |
|
|
|
|
|
|
|
def test_enable_proxied(self): |
|
|
|
self.assertFalse(data['proxied']) |
|
|
|
|
|
|
|
def test_proxiabletype_gendata_returnsproxied(self): |
|
|
|
provider = CloudflareProvider('test', 'email', 'token') |
|
|
|
zone = Zone('unit.tests.', []) |
|
|
|
record = set_record_proxied_flag( |
|
|
|
Record.new(zone, 'a', { |
|
|
|
'ttl': 300, |
|
|
|
'type': 'A', |
|
|
|
'value': '1.2.3.4' |
|
|
|
}), True |
|
|
|
) |
|
|
|
|
|
|
|
data = provider._gen_data(record).next() |
|
|
|
|
|
|
|
self.assertTrue(data['proxied']) |
|
|
|
|
|
|
|
def test_createrecord_extrachanges_returnsemptylist(self): |
|
|
|
provider = CloudflareProvider('test', 'email', 'token') |
|
|
|
provider.zone_records = Mock(return_value=[]) |
|
|
|
existing = Zone('unit.tests.', []) |
|
|
|
provider.populate(existing) |
|
|
|
provider.zone_records = Mock(return_value=[ |
|
|
|
{ |
|
|
|
"id": "fc12ab34cd5611334422ab3322997642", |
|
|
|
"type": "A", |
|
|
|
"name": "unit.tests.a", |
|
|
|
"content": "1.2.3.4", |
|
|
|
"proxiable": True, |
|
|
|
"proxied": False, |
|
|
|
"ttl": 120, |
|
|
|
"locked": False, |
|
|
|
"zone_id": "ff12ab34cd5611334422ab3322997650", |
|
|
|
"zone_name": "unit.tests", |
|
|
|
"modified_on": "2017-03-11T18:01:43.420689Z", |
|
|
|
"created_on": "2017-03-11T18:01:43.420689Z", |
|
|
|
"meta": { |
|
|
|
"auto_added": False |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
"id": "fc12ab34cd5611334422ab3322997643", |
|
|
|
"type": "AAAA", |
|
|
|
"name": "unit.tests.aaaa", |
|
|
|
"content": "::1", |
|
|
|
"proxiable": True, |
|
|
|
"proxied": False, |
|
|
|
"ttl": 250, |
|
|
|
"locked": False, |
|
|
|
"zone_id": "ff12ab34cd5611334422ab3322997650", |
|
|
|
"zone_name": "unit.tests", |
|
|
|
"modified_on": "2017-03-11T18:01:43.420689Z", |
|
|
|
"created_on": "2017-03-11T18:01:43.420689Z", |
|
|
|
"meta": { |
|
|
|
"auto_added": False |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
"id": "fc12ab34cd5611334422ab3322997644", |
|
|
|
"type": "CNAME", |
|
|
|
"name": "unit.tests.cname", |
|
|
|
"name": "a.unit.tests", |
|
|
|
"content": "www.unit.tests", |
|
|
|
"proxiable": True, |
|
|
|
"proxied": False, |
|
|
|
"proxied": True, |
|
|
|
"ttl": 300, |
|
|
|
"locked": False, |
|
|
|
"zone_id": "ff12ab34cd5611334422ab3322997650", |
|
|
|
@ -915,53 +948,24 @@ class TestCloudflareProvider(TestCase): |
|
|
|
"meta": { |
|
|
|
"auto_added": False |
|
|
|
} |
|
|
|
}, |
|
|
|
} |
|
|
|
]) |
|
|
|
desired = Zone('unit.tests.', []) |
|
|
|
provider.populate(desired) |
|
|
|
changes = existing.changes(desired, provider) |
|
|
|
|
|
|
|
zone = Zone('unit.tests.', []) |
|
|
|
provider.populate(zone) |
|
|
|
extra_changes = provider._extra_changes(existing, desired, changes) |
|
|
|
|
|
|
|
wanted = Zone('unit.tests.', []) |
|
|
|
wanted.add_record( |
|
|
|
set_record_proxied_flag( |
|
|
|
Record.new(wanted, 'unit.tests.a', { |
|
|
|
'ttl': 120, |
|
|
|
'type': 'A', |
|
|
|
'value': '1.2.3.4' |
|
|
|
}), True |
|
|
|
) |
|
|
|
) |
|
|
|
wanted.add_record( |
|
|
|
set_record_proxied_flag( |
|
|
|
Record.new(wanted, 'unit.tests.aaaa', { |
|
|
|
'ttl': 250, |
|
|
|
'type': 'AAAA', |
|
|
|
'value': '::1' |
|
|
|
}), True |
|
|
|
) |
|
|
|
) |
|
|
|
wanted.add_record( |
|
|
|
set_record_proxied_flag( |
|
|
|
Record.new(wanted, 'unit.tests.cname', { |
|
|
|
'ttl': 300, |
|
|
|
'type': 'CNAME', |
|
|
|
'value': 'www.unit.tests.' |
|
|
|
}), True |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
plan = provider.plan(wanted) |
|
|
|
self.assertEquals(True, hasattr(plan, 'changes')) |
|
|
|
self.assertFalse(extra_changes) |
|
|
|
|
|
|
|
def test_disable_proxied(self): |
|
|
|
def test_updaterecord_extrachanges_returnsemptylist(self): |
|
|
|
provider = CloudflareProvider('test', 'email', 'token') |
|
|
|
|
|
|
|
provider.zone_records = Mock(return_value=[ |
|
|
|
{ |
|
|
|
"id": "fc12ab34cd5611334422ab3322997642", |
|
|
|
"type": "A", |
|
|
|
"name": "unit.tests.a", |
|
|
|
"content": "1.2.3.4", |
|
|
|
"type": "CNAME", |
|
|
|
"name": "a.unit.tests", |
|
|
|
"content": "www.unit.tests", |
|
|
|
"proxiable": True, |
|
|
|
"proxied": True, |
|
|
|
"ttl": 120, |
|
|
|
@ -973,15 +977,19 @@ class TestCloudflareProvider(TestCase): |
|
|
|
"meta": { |
|
|
|
"auto_added": False |
|
|
|
} |
|
|
|
}, |
|
|
|
} |
|
|
|
]) |
|
|
|
existing = Zone('unit.tests.', []) |
|
|
|
provider.populate(existing) |
|
|
|
provider.zone_records = Mock(return_value=[ |
|
|
|
{ |
|
|
|
"id": "fc12ab34cd5611334422ab3322997643", |
|
|
|
"type": "AAAA", |
|
|
|
"name": "unit.tests.aaaa", |
|
|
|
"content": "::1", |
|
|
|
"id": "fc12ab34cd5611334422ab3322997642", |
|
|
|
"type": "CNAME", |
|
|
|
"name": "a.unit.tests", |
|
|
|
"content": "www.unit.tests", |
|
|
|
"proxiable": True, |
|
|
|
"proxied": True, |
|
|
|
"ttl": 250, |
|
|
|
"ttl": 300, |
|
|
|
"locked": False, |
|
|
|
"zone_id": "ff12ab34cd5611334422ab3322997650", |
|
|
|
"zone_name": "unit.tests", |
|
|
|
@ -990,11 +998,23 @@ class TestCloudflareProvider(TestCase): |
|
|
|
"meta": { |
|
|
|
"auto_added": False |
|
|
|
} |
|
|
|
}, |
|
|
|
} |
|
|
|
]) |
|
|
|
desired = Zone('unit.tests.', []) |
|
|
|
provider.populate(desired) |
|
|
|
changes = existing.changes(desired, provider) |
|
|
|
|
|
|
|
extra_changes = provider._extra_changes(existing, desired, changes) |
|
|
|
|
|
|
|
self.assertFalse(extra_changes) |
|
|
|
|
|
|
|
def test_deleterecord_extrachanges_returnsemptylist(self): |
|
|
|
provider = CloudflareProvider('test', 'email', 'token') |
|
|
|
provider.zone_records = Mock(return_value=[ |
|
|
|
{ |
|
|
|
"id": "fc12ab34cd5611334422ab3322997644", |
|
|
|
"id": "fc12ab34cd5611334422ab3322997642", |
|
|
|
"type": "CNAME", |
|
|
|
"name": "unit.tests.cname", |
|
|
|
"name": "a.unit.tests", |
|
|
|
"content": "www.unit.tests", |
|
|
|
"proxiable": True, |
|
|
|
"proxied": True, |
|
|
|
@ -1007,73 +1027,30 @@ class TestCloudflareProvider(TestCase): |
|
|
|
"meta": { |
|
|
|
"auto_added": False |
|
|
|
} |
|
|
|
}, |
|
|
|
} |
|
|
|
]) |
|
|
|
existing = Zone('unit.tests.', []) |
|
|
|
provider.populate(existing) |
|
|
|
provider.zone_records = Mock(return_value=[]) |
|
|
|
desired = Zone('unit.tests.', []) |
|
|
|
provider.populate(desired) |
|
|
|
changes = existing.changes(desired, provider) |
|
|
|
|
|
|
|
zone = Zone('unit.tests.', []) |
|
|
|
provider.populate(zone) |
|
|
|
|
|
|
|
wanted = Zone('unit.tests.', []) |
|
|
|
wanted.add_record( |
|
|
|
set_record_proxied_flag( |
|
|
|
Record.new(wanted, 'unit.tests.a', { |
|
|
|
'ttl': 120, |
|
|
|
'type': 'A', |
|
|
|
'value': '1.2.3.4' |
|
|
|
}), False |
|
|
|
) |
|
|
|
) |
|
|
|
wanted.add_record( |
|
|
|
set_record_proxied_flag( |
|
|
|
Record.new(wanted, 'unit.tests.aaaa', { |
|
|
|
'ttl': 250, |
|
|
|
'type': 'AAAA', |
|
|
|
'value': '::1' |
|
|
|
}), False |
|
|
|
) |
|
|
|
) |
|
|
|
wanted.add_record( |
|
|
|
set_record_proxied_flag( |
|
|
|
Record.new(wanted, 'unit.tests.cname', { |
|
|
|
'ttl': 300, |
|
|
|
'type': 'CNAME', |
|
|
|
'value': 'www.unit.tests.' |
|
|
|
}), False |
|
|
|
) |
|
|
|
) |
|
|
|
extra_changes = provider._extra_changes(existing, desired, changes) |
|
|
|
|
|
|
|
plan = provider.plan(wanted) |
|
|
|
self.assertEquals(True, hasattr(plan, 'changes')) |
|
|
|
self.assertFalse(extra_changes) |
|
|
|
|
|
|
|
def test_leave_proxied_disabled(self): |
|
|
|
def test_proxify_extrachanges_returnsupdatelist(self): |
|
|
|
provider = CloudflareProvider('test', 'email', 'token') |
|
|
|
|
|
|
|
provider.zone_records = Mock(return_value=[ |
|
|
|
{ |
|
|
|
"id": "fc12ab34cd5611334422ab3322997642", |
|
|
|
"type": "A", |
|
|
|
"name": "unit.tests.a", |
|
|
|
"content": "1.2.3.4", |
|
|
|
"proxiable": True, |
|
|
|
"proxied": False, |
|
|
|
"ttl": 120, |
|
|
|
"locked": False, |
|
|
|
"zone_id": "ff12ab34cd5611334422ab3322997650", |
|
|
|
"zone_name": "unit.tests", |
|
|
|
"modified_on": "2017-03-11T18:01:43.420689Z", |
|
|
|
"created_on": "2017-03-11T18:01:43.420689Z", |
|
|
|
"meta": { |
|
|
|
"auto_added": False |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
"id": "fc12ab34cd5611334422ab3322997643", |
|
|
|
"type": "AAAA", |
|
|
|
"name": "unit.tests.aaaa", |
|
|
|
"content": "::1", |
|
|
|
"type": "CNAME", |
|
|
|
"name": "a.unit.tests", |
|
|
|
"content": "www.unit.tests", |
|
|
|
"proxiable": True, |
|
|
|
"proxied": False, |
|
|
|
"ttl": 250, |
|
|
|
"ttl": 300, |
|
|
|
"locked": False, |
|
|
|
"zone_id": "ff12ab34cd5611334422ab3322997650", |
|
|
|
"zone_name": "unit.tests", |
|
|
|
@ -1082,14 +1059,18 @@ class TestCloudflareProvider(TestCase): |
|
|
|
"meta": { |
|
|
|
"auto_added": False |
|
|
|
} |
|
|
|
}, |
|
|
|
} |
|
|
|
]) |
|
|
|
existing = Zone('unit.tests.', []) |
|
|
|
provider.populate(existing) |
|
|
|
provider.zone_records = Mock(return_value=[ |
|
|
|
{ |
|
|
|
"id": "fc12ab34cd5611334422ab3322997644", |
|
|
|
"id": "fc12ab34cd5611334422ab3322997642", |
|
|
|
"type": "CNAME", |
|
|
|
"name": "unit.tests.cname", |
|
|
|
"name": "a.unit.tests", |
|
|
|
"content": "www.unit.tests", |
|
|
|
"proxiable": True, |
|
|
|
"proxied": False, |
|
|
|
"proxied": True, |
|
|
|
"ttl": 300, |
|
|
|
"locked": False, |
|
|
|
"zone_id": "ff12ab34cd5611334422ab3322997650", |
|
|
|
@ -1099,73 +1080,33 @@ class TestCloudflareProvider(TestCase): |
|
|
|
"meta": { |
|
|
|
"auto_added": False |
|
|
|
} |
|
|
|
}, |
|
|
|
} |
|
|
|
]) |
|
|
|
desired = Zone('unit.tests.', []) |
|
|
|
provider.populate(desired) |
|
|
|
changes = existing.changes(desired, provider) |
|
|
|
|
|
|
|
zone = Zone('unit.tests.', []) |
|
|
|
provider.populate(zone) |
|
|
|
extra_changes = provider._extra_changes(existing, desired, changes) |
|
|
|
|
|
|
|
wanted = Zone('unit.tests.', []) |
|
|
|
wanted.add_record( |
|
|
|
set_record_proxied_flag( |
|
|
|
Record.new(wanted, 'unit.tests.a', { |
|
|
|
'ttl': 120, |
|
|
|
'type': 'A', |
|
|
|
'value': '1.2.3.4' |
|
|
|
}), False |
|
|
|
) |
|
|
|
self.assertEquals(1, len(extra_changes)) |
|
|
|
self.assertFalse( |
|
|
|
extra_changes[0].existing._octodns['cloudflare']['proxied'] |
|
|
|
) |
|
|
|
wanted.add_record( |
|
|
|
set_record_proxied_flag( |
|
|
|
Record.new(wanted, 'unit.tests.aaaa', { |
|
|
|
'ttl': 250, |
|
|
|
'type': 'AAAA', |
|
|
|
'value': '::1' |
|
|
|
}), False |
|
|
|
) |
|
|
|
self.assertTrue( |
|
|
|
extra_changes[0].new._octodns['cloudflare']['proxied'] |
|
|
|
) |
|
|
|
wanted.add_record( |
|
|
|
set_record_proxied_flag( |
|
|
|
Record.new(wanted, 'unit.tests.cname', { |
|
|
|
'ttl': 300, |
|
|
|
'type': 'CNAME', |
|
|
|
'value': 'www.unit.tests.' |
|
|
|
}), False |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
plan = provider.plan(wanted) |
|
|
|
self.assertEquals(False, hasattr(plan, 'changes')) |
|
|
|
|
|
|
|
def test_leave_proxied_enabled(self): |
|
|
|
def test_unproxify_extrachanges_returnsupdatelist(self): |
|
|
|
provider = CloudflareProvider('test', 'email', 'token') |
|
|
|
|
|
|
|
provider.zone_records = Mock(return_value=[ |
|
|
|
{ |
|
|
|
"id": "fc12ab34cd5611334422ab3322997642", |
|
|
|
"type": "A", |
|
|
|
"name": "unit.tests.a", |
|
|
|
"content": "1.2.3.4", |
|
|
|
"proxiable": True, |
|
|
|
"proxied": True, |
|
|
|
"ttl": 120, |
|
|
|
"locked": False, |
|
|
|
"zone_id": "ff12ab34cd5611334422ab3322997650", |
|
|
|
"zone_name": "unit.tests", |
|
|
|
"modified_on": "2017-03-11T18:01:43.420689Z", |
|
|
|
"created_on": "2017-03-11T18:01:43.420689Z", |
|
|
|
"meta": { |
|
|
|
"auto_added": False |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
"id": "fc12ab34cd5611334422ab3322997643", |
|
|
|
"type": "AAAA", |
|
|
|
"name": "unit.tests.aaaa", |
|
|
|
"content": "::1", |
|
|
|
"type": "CNAME", |
|
|
|
"name": "a.unit.tests", |
|
|
|
"content": "www.unit.tests", |
|
|
|
"proxiable": True, |
|
|
|
"proxied": True, |
|
|
|
"ttl": 250, |
|
|
|
"ttl": 300, |
|
|
|
"locked": False, |
|
|
|
"zone_id": "ff12ab34cd5611334422ab3322997650", |
|
|
|
"zone_name": "unit.tests", |
|
|
|
@ -1174,14 +1115,18 @@ class TestCloudflareProvider(TestCase): |
|
|
|
"meta": { |
|
|
|
"auto_added": False |
|
|
|
} |
|
|
|
}, |
|
|
|
} |
|
|
|
]) |
|
|
|
existing = Zone('unit.tests.', []) |
|
|
|
provider.populate(existing) |
|
|
|
provider.zone_records = Mock(return_value=[ |
|
|
|
{ |
|
|
|
"id": "fc12ab34cd5611334422ab3322997644", |
|
|
|
"id": "fc12ab34cd5611334422ab3322997642", |
|
|
|
"type": "CNAME", |
|
|
|
"name": "unit.tests.cname", |
|
|
|
"name": "a.unit.tests", |
|
|
|
"content": "www.unit.tests", |
|
|
|
"proxiable": True, |
|
|
|
"proxied": True, |
|
|
|
"proxied": False, |
|
|
|
"ttl": 300, |
|
|
|
"locked": False, |
|
|
|
"zone_id": "ff12ab34cd5611334422ab3322997650", |
|
|
|
@ -1191,40 +1136,18 @@ class TestCloudflareProvider(TestCase): |
|
|
|
"meta": { |
|
|
|
"auto_added": False |
|
|
|
} |
|
|
|
}, |
|
|
|
} |
|
|
|
]) |
|
|
|
desired = Zone('unit.tests.', []) |
|
|
|
provider.populate(desired) |
|
|
|
changes = existing.changes(desired, provider) |
|
|
|
|
|
|
|
zone = Zone('unit.tests.', []) |
|
|
|
provider.populate(zone) |
|
|
|
extra_changes = provider._extra_changes(existing, desired, changes) |
|
|
|
|
|
|
|
wanted = Zone('unit.tests.', []) |
|
|
|
wanted.add_record( |
|
|
|
set_record_proxied_flag( |
|
|
|
Record.new(wanted, 'unit.tests.a', { |
|
|
|
'ttl': 120, |
|
|
|
'type': 'A', |
|
|
|
'value': '1.2.3.4' |
|
|
|
}), True |
|
|
|
) |
|
|
|
) |
|
|
|
wanted.add_record( |
|
|
|
set_record_proxied_flag( |
|
|
|
Record.new(wanted, 'unit.tests.aaaa', { |
|
|
|
'ttl': 250, |
|
|
|
'type': 'AAAA', |
|
|
|
'value': '::1' |
|
|
|
}), True |
|
|
|
) |
|
|
|
self.assertEquals(1, len(extra_changes)) |
|
|
|
self.assertTrue( |
|
|
|
extra_changes[0].existing._octodns['cloudflare']['proxied'] |
|
|
|
) |
|
|
|
wanted.add_record( |
|
|
|
set_record_proxied_flag( |
|
|
|
Record.new(wanted, 'unit.tests.cname', { |
|
|
|
'ttl': 300, |
|
|
|
'type': 'CNAME', |
|
|
|
'value': 'www.unit.tests.' |
|
|
|
}), True |
|
|
|
) |
|
|
|
self.assertFalse( |
|
|
|
extra_changes[0].new._octodns['cloudflare']['proxied'] |
|
|
|
) |
|
|
|
|
|
|
|
plan = provider.plan(wanted) |
|
|
|
self.assertEquals(False, hasattr(plan, 'changes')) |