mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Alter - New tests to be more unit-test-like.
This commit is contained in:
@@ -769,141 +769,16 @@ class TestCloudflareProvider(TestCase):
|
|||||||
plan = provider.plan(wanted)
|
plan = provider.plan(wanted)
|
||||||
self.assertEquals(False, hasattr(plan, 'changes'))
|
self.assertEquals(False, hasattr(plan, 'changes'))
|
||||||
|
|
||||||
def test_proxied_ignore_ttl(self):
|
def test_unproxiabletype_recordfor_returnsrecordwithnocloudflare(self):
|
||||||
provider = CloudflareProvider('test', 'email', 'token')
|
provider = CloudflareProvider('test', 'email', 'token')
|
||||||
|
name = "unit.tests"
|
||||||
provider.zone_records = Mock(return_value=[
|
_type = "NS"
|
||||||
|
zone_records = [
|
||||||
{
|
{
|
||||||
"id": "fc12ab34cd5611334422ab3322997642",
|
"id": "fc12ab34cd5611334422ab3322997654",
|
||||||
"type": "A",
|
"type": _type,
|
||||||
"name": "unit.tests.a",
|
"name": name,
|
||||||
"content": "1.2.3.4",
|
"content": "ns2.foo.bar",
|
||||||
"proxiable": True,
|
|
||||||
"proxied": True,
|
|
||||||
"ttl": 1,
|
|
||||||
"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": True,
|
|
||||||
"ttl": 1,
|
|
||||||
"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",
|
|
||||||
"content": "www.unit.tests",
|
|
||||||
"proxiable": True,
|
|
||||||
"proxied": True,
|
|
||||||
"ttl": 1,
|
|
||||||
"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
|
|
||||||
}
|
|
||||||
},
|
|
||||||
])
|
|
||||||
|
|
||||||
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
|
|
||||||
)
|
|
||||||
)
|
|
||||||
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(False, hasattr(plan, 'changes'))
|
|
||||||
|
|
||||||
def test_enable_proxied(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",
|
|
||||||
"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",
|
|
||||||
"content": "www.unit.tests",
|
|
||||||
"proxiable": True,
|
"proxiable": True,
|
||||||
"proxied": False,
|
"proxied": False,
|
||||||
"ttl": 300,
|
"ttl": 300,
|
||||||
@@ -915,86 +790,152 @@ class TestCloudflareProvider(TestCase):
|
|||||||
"meta": {
|
"meta": {
|
||||||
"auto_added": False
|
"auto_added": False
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
])
|
]
|
||||||
|
provider.zone_records = Mock(return_value=zone_records)
|
||||||
zone = Zone('unit.tests.', [])
|
zone = Zone('unit.tests.', [])
|
||||||
provider.populate(zone)
|
provider.populate(zone)
|
||||||
|
|
||||||
wanted = Zone('unit.tests.', [])
|
record = provider._record_for(zone, name, _type, zone_records, False)
|
||||||
wanted.add_record(
|
|
||||||
set_record_proxied_flag(
|
self.assertFalse('cloudflare' in record._octodns)
|
||||||
Record.new(wanted, 'unit.tests.a', {
|
|
||||||
'ttl': 120,
|
def test_proxiabletype_recordfor_retrecordwithcloudflareunproxied(self):
|
||||||
|
provider = CloudflareProvider('test', 'email', 'token')
|
||||||
|
name = "multi.unit.tests"
|
||||||
|
_type = "AAAA"
|
||||||
|
zone_records = [
|
||||||
|
{
|
||||||
|
"id": "fc12ab34cd5611334422ab3322997642",
|
||||||
|
"type": _type,
|
||||||
|
"name": name,
|
||||||
|
"content": "::1",
|
||||||
|
"proxiable": True,
|
||||||
|
"proxied": False,
|
||||||
|
"ttl": 300,
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
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": "fc12ab34cd5611334422ab3322997642",
|
||||||
|
"type": _type,
|
||||||
|
"name": name,
|
||||||
|
"content": "::1",
|
||||||
|
"proxiable": True,
|
||||||
|
"proxied": True,
|
||||||
|
"ttl": 300,
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
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.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
|
||||||
|
)
|
||||||
|
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
|
||||||
|
)
|
||||||
|
|
||||||
|
data = provider._gen_data(record).next()
|
||||||
|
|
||||||
|
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',
|
'type': 'A',
|
||||||
'value': '1.2.3.4'
|
'value': '1.2.3.4'
|
||||||
}), True
|
}), 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)
|
data = provider._gen_data(record).next()
|
||||||
self.assertEquals(True, hasattr(plan, 'changes'))
|
|
||||||
|
|
||||||
def test_disable_proxied(self):
|
self.assertTrue(data['proxied'])
|
||||||
|
|
||||||
|
def test_createrecord_extrachanges_returnsemptylist(self):
|
||||||
provider = CloudflareProvider('test', 'email', 'token')
|
provider = CloudflareProvider('test', 'email', 'token')
|
||||||
|
provider.zone_records = Mock(return_value=[])
|
||||||
|
existing = Zone('unit.tests.', [])
|
||||||
|
provider.populate(existing)
|
||||||
provider.zone_records = Mock(return_value=[
|
provider.zone_records = Mock(return_value=[
|
||||||
{
|
{
|
||||||
"id": "fc12ab34cd5611334422ab3322997642",
|
"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",
|
|
||||||
"proxiable": True,
|
|
||||||
"proxied": True,
|
|
||||||
"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",
|
"type": "CNAME",
|
||||||
"name": "unit.tests.cname",
|
"name": "a.unit.tests",
|
||||||
"content": "www.unit.tests",
|
"content": "www.unit.tests",
|
||||||
"proxiable": True,
|
"proxiable": True,
|
||||||
"proxied": True,
|
"proxied": True,
|
||||||
@@ -1007,146 +948,25 @@ class TestCloudflareProvider(TestCase):
|
|||||||
"meta": {
|
"meta": {
|
||||||
"auto_added": False
|
"auto_added": False
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
])
|
])
|
||||||
|
desired = Zone('unit.tests.', [])
|
||||||
|
provider.populate(desired)
|
||||||
|
changes = existing.changes(desired, provider)
|
||||||
|
|
||||||
zone = Zone('unit.tests.', [])
|
extra_changes = provider._extra_changes(existing, desired, changes)
|
||||||
provider.populate(zone)
|
|
||||||
|
|
||||||
wanted = Zone('unit.tests.', [])
|
self.assertFalse(extra_changes)
|
||||||
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
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
plan = provider.plan(wanted)
|
def test_updaterecord_extrachanges_returnsemptylist(self):
|
||||||
self.assertEquals(True, hasattr(plan, 'changes'))
|
|
||||||
|
|
||||||
def test_leave_proxied_disabled(self):
|
|
||||||
provider = CloudflareProvider('test', 'email', 'token')
|
provider = CloudflareProvider('test', 'email', 'token')
|
||||||
|
|
||||||
provider.zone_records = Mock(return_value=[
|
provider.zone_records = Mock(return_value=[
|
||||||
{
|
{
|
||||||
"id": "fc12ab34cd5611334422ab3322997642",
|
"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",
|
"type": "CNAME",
|
||||||
"name": "unit.tests.cname",
|
"name": "a.unit.tests",
|
||||||
"content": "www.unit.tests",
|
"content": "www.unit.tests",
|
||||||
"proxiable": True,
|
"proxiable": True,
|
||||||
"proxied": False,
|
|
||||||
"ttl": 300,
|
|
||||||
"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
|
|
||||||
}
|
|
||||||
},
|
|
||||||
])
|
|
||||||
|
|
||||||
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
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
plan = provider.plan(wanted)
|
|
||||||
self.assertEquals(False, hasattr(plan, 'changes'))
|
|
||||||
|
|
||||||
def test_leave_proxied_enabled(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,
|
"proxied": True,
|
||||||
"ttl": 120,
|
"ttl": 120,
|
||||||
"locked": False,
|
"locked": False,
|
||||||
@@ -1157,28 +977,15 @@ class TestCloudflareProvider(TestCase):
|
|||||||
"meta": {
|
"meta": {
|
||||||
"auto_added": False
|
"auto_added": False
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "fc12ab34cd5611334422ab3322997643",
|
|
||||||
"type": "AAAA",
|
|
||||||
"name": "unit.tests.aaaa",
|
|
||||||
"content": "::1",
|
|
||||||
"proxiable": True,
|
|
||||||
"proxied": True,
|
|
||||||
"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
|
|
||||||
}
|
}
|
||||||
},
|
])
|
||||||
|
existing = Zone('unit.tests.', [])
|
||||||
|
provider.populate(existing)
|
||||||
|
provider.zone_records = Mock(return_value=[
|
||||||
{
|
{
|
||||||
"id": "fc12ab34cd5611334422ab3322997644",
|
"id": "fc12ab34cd5611334422ab3322997642",
|
||||||
"type": "CNAME",
|
"type": "CNAME",
|
||||||
"name": "unit.tests.cname",
|
"name": "a.unit.tests",
|
||||||
"content": "www.unit.tests",
|
"content": "www.unit.tests",
|
||||||
"proxiable": True,
|
"proxiable": True,
|
||||||
"proxied": True,
|
"proxied": True,
|
||||||
@@ -1191,40 +998,156 @@ class TestCloudflareProvider(TestCase):
|
|||||||
"meta": {
|
"meta": {
|
||||||
"auto_added": False
|
"auto_added": False
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
])
|
])
|
||||||
|
desired = Zone('unit.tests.', [])
|
||||||
|
provider.populate(desired)
|
||||||
|
changes = existing.changes(desired, provider)
|
||||||
|
|
||||||
zone = Zone('unit.tests.', [])
|
extra_changes = provider._extra_changes(existing, desired, changes)
|
||||||
provider.populate(zone)
|
|
||||||
|
|
||||||
wanted = Zone('unit.tests.', [])
|
self.assertFalse(extra_changes)
|
||||||
wanted.add_record(
|
|
||||||
set_record_proxied_flag(
|
def test_deleterecord_extrachanges_returnsemptylist(self):
|
||||||
Record.new(wanted, 'unit.tests.a', {
|
provider = CloudflareProvider('test', 'email', 'token')
|
||||||
'ttl': 120,
|
provider.zone_records = Mock(return_value=[
|
||||||
'type': 'A',
|
{
|
||||||
'value': '1.2.3.4'
|
"id": "fc12ab34cd5611334422ab3322997642",
|
||||||
}), True
|
"type": "CNAME",
|
||||||
)
|
"name": "a.unit.tests",
|
||||||
)
|
"content": "www.unit.tests",
|
||||||
wanted.add_record(
|
"proxiable": True,
|
||||||
set_record_proxied_flag(
|
"proxied": True,
|
||||||
Record.new(wanted, 'unit.tests.aaaa', {
|
"ttl": 300,
|
||||||
'ttl': 250,
|
"locked": False,
|
||||||
'type': 'AAAA',
|
"zone_id": "ff12ab34cd5611334422ab3322997650",
|
||||||
'value': '::1'
|
"zone_name": "unit.tests",
|
||||||
}), True
|
"modified_on": "2017-03-11T18:01:43.420689Z",
|
||||||
)
|
"created_on": "2017-03-11T18:01:43.420689Z",
|
||||||
)
|
"meta": {
|
||||||
wanted.add_record(
|
"auto_added": False
|
||||||
set_record_proxied_flag(
|
}
|
||||||
Record.new(wanted, 'unit.tests.cname', {
|
}
|
||||||
'ttl': 300,
|
])
|
||||||
'type': 'CNAME',
|
existing = Zone('unit.tests.', [])
|
||||||
'value': 'www.unit.tests.'
|
provider.populate(existing)
|
||||||
}), True
|
provider.zone_records = Mock(return_value=[])
|
||||||
|
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_proxify_extrachanges_returnsupdatelist(self):
|
||||||
|
provider = CloudflareProvider('test', 'email', 'token')
|
||||||
|
provider.zone_records = Mock(return_value=[
|
||||||
|
{
|
||||||
|
"id": "fc12ab34cd5611334422ab3322997642",
|
||||||
|
"type": "CNAME",
|
||||||
|
"name": "a.unit.tests",
|
||||||
|
"content": "www.unit.tests",
|
||||||
|
"proxiable": True,
|
||||||
|
"proxied": False,
|
||||||
|
"ttl": 300,
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
])
|
||||||
|
existing = Zone('unit.tests.', [])
|
||||||
|
provider.populate(existing)
|
||||||
|
provider.zone_records = Mock(return_value=[
|
||||||
|
{
|
||||||
|
"id": "fc12ab34cd5611334422ab3322997642",
|
||||||
|
"type": "CNAME",
|
||||||
|
"name": "a.unit.tests",
|
||||||
|
"content": "www.unit.tests",
|
||||||
|
"proxiable": True,
|
||||||
|
"proxied": True,
|
||||||
|
"ttl": 300,
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
])
|
||||||
|
desired = Zone('unit.tests.', [])
|
||||||
|
provider.populate(desired)
|
||||||
|
changes = existing.changes(desired, provider)
|
||||||
|
|
||||||
|
extra_changes = provider._extra_changes(existing, desired, changes)
|
||||||
|
|
||||||
|
self.assertEquals(1, len(extra_changes))
|
||||||
|
self.assertFalse(
|
||||||
|
extra_changes[0].existing._octodns['cloudflare']['proxied']
|
||||||
)
|
)
|
||||||
|
self.assertTrue(
|
||||||
|
extra_changes[0].new._octodns['cloudflare']['proxied']
|
||||||
)
|
)
|
||||||
|
|
||||||
plan = provider.plan(wanted)
|
def test_unproxify_extrachanges_returnsupdatelist(self):
|
||||||
self.assertEquals(False, hasattr(plan, 'changes'))
|
provider = CloudflareProvider('test', 'email', 'token')
|
||||||
|
provider.zone_records = Mock(return_value=[
|
||||||
|
{
|
||||||
|
"id": "fc12ab34cd5611334422ab3322997642",
|
||||||
|
"type": "CNAME",
|
||||||
|
"name": "a.unit.tests",
|
||||||
|
"content": "www.unit.tests",
|
||||||
|
"proxiable": True,
|
||||||
|
"proxied": True,
|
||||||
|
"ttl": 300,
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
])
|
||||||
|
existing = Zone('unit.tests.', [])
|
||||||
|
provider.populate(existing)
|
||||||
|
provider.zone_records = Mock(return_value=[
|
||||||
|
{
|
||||||
|
"id": "fc12ab34cd5611334422ab3322997642",
|
||||||
|
"type": "CNAME",
|
||||||
|
"name": "a.unit.tests",
|
||||||
|
"content": "www.unit.tests",
|
||||||
|
"proxiable": True,
|
||||||
|
"proxied": False,
|
||||||
|
"ttl": 300,
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
])
|
||||||
|
desired = Zone('unit.tests.', [])
|
||||||
|
provider.populate(desired)
|
||||||
|
changes = existing.changes(desired, provider)
|
||||||
|
|
||||||
|
extra_changes = provider._extra_changes(existing, desired, changes)
|
||||||
|
|
||||||
|
self.assertEquals(1, len(extra_changes))
|
||||||
|
self.assertTrue(
|
||||||
|
extra_changes[0].existing._octodns['cloudflare']['proxied']
|
||||||
|
)
|
||||||
|
self.assertFalse(
|
||||||
|
extra_changes[0].new._octodns['cloudflare']['proxied']
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user