Skip to content

Commit 7e461ae

Browse files
author
Aaron Sierra
committed
dns: luadns: Add API request checking
1 parent dd0c4c4 commit 7e461ae

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

libcloud/test/dns/test_luadns.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
class LuadnsTests(unittest.TestCase):
3434
def setUp(self):
3535
LuadnsMockHttp.type = None
36+
LuadnsMockHttp.history.clear()
3637
LuadnsDNSDriver.connectionCls.conn_class = LuadnsMockHttp
3738
self.driver = LuadnsDNSDriver(*DNS_PARAMS_LUADNS)
3839
self.test_zone = Zone(
@@ -66,6 +67,10 @@ def test_list_zones_empty(self):
6667
def test_list_zones_success(self):
6768
zones = self.driver.list_zones()
6869

70+
sent = LuadnsMockHttp.history.pop()
71+
self.assertEqual(sent.method, "GET")
72+
self.assertEqual(sent.url, "/v1/zones")
73+
6974
self.assertEqual(len(zones), 2)
7075

7176
zone = zones[0]
@@ -95,6 +100,10 @@ def test_get_zone_success(self):
95100
LuadnsMockHttp.type = "GET_ZONE_SUCCESS"
96101
zone = self.driver.get_zone(zone_id="31")
97102

103+
sent = LuadnsMockHttp.history.pop()
104+
self.assertEqual(sent.method, "GET")
105+
self.assertEqual(sent.url, "/v1/zones/31")
106+
98107
self.assertEqual(zone.id, "31")
99108
self.assertEqual(zone.domain, "example.org")
100109
self.assertIsNone(zone.type)
@@ -106,6 +115,10 @@ def test_delete_zone_success(self):
106115
zone = self.test_zone
107116
status = self.driver.delete_zone(zone=zone)
108117

118+
sent = LuadnsMockHttp.history.pop()
119+
self.assertEqual(sent.method, "DELETE")
120+
self.assertEqual(sent.url, f"/v1/zones/{zone.id}")
121+
109122
self.assertEqual(status, True)
110123

111124
def test_delete_zone_zone_does_not_exist(self):
@@ -122,6 +135,11 @@ def test_create_zone_success(self):
122135
LuadnsMockHttp.type = "CREATE_ZONE_SUCCESS"
123136
zone = self.driver.create_zone(domain="example.org")
124137

138+
sent = LuadnsMockHttp.history.pop()
139+
self.assertEqual(sent.method, "POST")
140+
self.assertEqual(sent.url, "/v1/zones")
141+
self.assertEqual(sent.json["name"], "example.org")
142+
125143
self.assertEqual(zone.id, "3")
126144
self.assertEqual(zone.domain, "example.org")
127145
self.assertIsNone(zone.type)
@@ -149,6 +167,10 @@ def test_list_records_success(self):
149167
zone = self.test_zone
150168
records = self.driver.list_records(zone=zone)
151169

170+
sent = LuadnsMockHttp.history.pop()
171+
self.assertEqual(sent.method, "GET")
172+
self.assertEqual(sent.url, f"/v1/zones/{zone.id}/records")
173+
152174
self.assertEqual(len(records), 2)
153175

154176
record = records[0]
@@ -179,6 +201,10 @@ def test_get_record_success(self):
179201
LuadnsMockHttp.type = "GET_RECORD_SUCCESS"
180202
record = self.driver.get_record(zone_id="31", record_id="31")
181203

204+
sent = LuadnsMockHttp.history.pop()
205+
self.assertEqual(sent.method, "GET")
206+
self.assertEqual(sent.url, "/v1/zones/31/records/31")
207+
182208
self.assertEqual(record.id, "31")
183209
self.assertEqual(record.type, "MX")
184210
self.assertEqual(record.name, "example.com.")
@@ -189,6 +215,10 @@ def test_delete_record_success(self):
189215
record = self.test_record
190216
status = self.driver.delete_record(record=record)
191217

218+
sent = LuadnsMockHttp.history.pop()
219+
self.assertEqual(sent.method, "DELETE")
220+
self.assertEqual(sent.url, f"/v1/zones/{record.zone.id}/records/{record.id}")
221+
192222
self.assertEqual(status, True)
193223

194224
def test_delete_record_RECORD_DOES_NOT_EXIST_ERROR(self):
@@ -210,6 +240,15 @@ def test_create_record_success(self):
210240
data="127.0.0.1",
211241
extra={"ttl": 13},
212242
)
243+
244+
sent = LuadnsMockHttp.history.pop()
245+
self.assertEqual(sent.method, "POST")
246+
self.assertEqual(sent.url, f"/v1/zones/{self.test_zone.id}/records")
247+
self.assertEqual(sent.json["name"], "test.com.")
248+
self.assertEqual(sent.json["type"], "A")
249+
self.assertEqual(sent.json["content"], "127.0.0.1")
250+
self.assertEqual(sent.json["ttl"], 13)
251+
213252
self.assertEqual(record.id, "31")
214253
self.assertEqual(record.name, "test.com.")
215254
self.assertEqual(record.data, "127.0.0.1")
@@ -221,6 +260,7 @@ def test_record_already_exists_error(self):
221260

222261
class LuadnsMockHttp(MockHttp):
223262
fixtures = DNSFileFixtures("luadns")
263+
keep_history = True
224264

225265
def _v1_zones(self, method, url, body, headers):
226266
body = self.fixtures.load("zones_list.json")

0 commit comments

Comments
 (0)