Skip to content

Commit 75e4f48

Browse files
committed
rcode0-driver: add regressiontest for #2042
1 parent 74515cb commit 75e4f48

2 files changed

Lines changed: 30 additions & 1 deletion

File tree

libcloud/test/dns/fixtures/rcodezero/list_records.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,17 @@
2626
"disabled": false
2727
}
2828
]
29+
},
30+
{
31+
"name": "aaaaexisting.example.at.",
32+
"type": "AAAA",
33+
"ttl": 3600,
34+
"records": [
35+
{
36+
"content": "2001:db8::42",
37+
"disabled": false
38+
}
39+
]
2940
}
3041
],
3142
"from": 1,

libcloud/test/dns/test_rcodezero.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ def test_list_record_types(self):
8989

9090
def test_list_records(self):
9191
records = self.driver.list_records(self.test_zone)
92-
self.assertEqual(len(records), 3)
92+
self.assertEqual(len(records), 4)
9393

9494
def test_list_zones(self):
9595
zones = self.driver.list_zones()
@@ -118,6 +118,24 @@ def test_update_record(self):
118118
self.assertEqual(record.type, RecordType.A)
119119
self.assertEqual(record.ttl, 300)
120120

121+
# test issue #2042
122+
def test_add_other_type_to_existing_record(self):
123+
payload = self.driver._to_patchrequest(
124+
self.test_record.zone.id,
125+
self.test_record,
126+
"aaaaexisting",
127+
RecordType.A,
128+
"127.0.0.1",
129+
{"ttl": 300},
130+
"update",
131+
)
132+
self.assertEqual(payload[0]["name"], "aaaaexisting.example.at.")
133+
self.assertEqual(payload[0]["type"], RecordType.A)
134+
self.assertEqual(payload[0]["ttl"], 300)
135+
self.assertEqual(payload[0]["changetype"], "update")
136+
expected_record = [{"content": "127.0.0.1"}]
137+
self.assertEqual(payload[0]["records"], expected_record)
138+
121139
def test_update_zone(self):
122140
with self.assertRaises(NotImplementedError):
123141
self.driver.update_zone(self.test_zone, "example.at")

0 commit comments

Comments
 (0)