Skip to content

Commit 78dd1d6

Browse files
author
Aaron Sierra
committed
dns: vultr: Add API request checking
1 parent 4cab9f7 commit 78dd1d6

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

libcloud/test/dns/test_vultr_v2.py

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
class VultrTests(unittest.TestCase):
2626
def setUp(self):
2727
VultrMockHttp.type = None
28+
VultrMockHttp.history.clear()
2829
VultrDNSDriverV2.connectionCls.conn_class = VultrMockHttp
2930
self.driver = VultrDNSDriver("foo")
3031

@@ -36,6 +37,11 @@ def test_unknown_api_version(self):
3637

3738
def test_list_zones(self):
3839
zones = self.driver.list_zones()
40+
41+
sent = VultrMockHttp.history.pop()
42+
self.assertEqual(sent.method, "GET")
43+
self.assertEqual(sent.url, "/v2/domains")
44+
3945
self.assertEqual(len(zones), 2)
4046
zone = zones[0]
4147
self.assertEqual(zone.id, "example.com")
@@ -44,24 +50,45 @@ def test_list_zones(self):
4450

4551
def test_create_zone(self):
4652
zone = self.driver.create_zone("example.com")
53+
54+
sent = VultrMockHttp.history.pop()
55+
self.assertEqual(sent.method, "POST")
56+
self.assertEqual(sent.url, "/v2/domains")
57+
self.assertEqual(sent.json["domain"], "example.com")
58+
4759
self.assertEqual(zone.id, "example.com")
4860
self.assertEqual(zone.domain, "example.com")
4961
self.assertEqual(zone.extra["date_created"], "2021-09-07T10:28:34+00:00")
5062

5163
def test_get_zone(self):
5264
zone = self.driver.get_zone("example.com")
65+
66+
sent = VultrMockHttp.history.pop()
67+
self.assertEqual(sent.method, "GET")
68+
self.assertEqual(sent.url, "/v2/domains/example.com")
69+
5370
self.assertEqual(zone.id, "example.com")
5471
self.assertEqual(zone.domain, "example.com")
5572
self.assertEqual(zone.extra["date_created"], "2021-09-07T09:52:18+00:00")
5673

5774
def test_delete_zone(self):
5875
zone = self.driver.get_zone("example.com")
5976
response = self.driver.delete_zone(zone)
77+
78+
sent = VultrMockHttp.history.pop()
79+
self.assertEqual(sent.method, "DELETE")
80+
self.assertEqual(sent.url, "/v2/domains/example.com")
81+
6082
self.assertTrue(response)
6183

6284
def test_list_records(self):
6385
zone = self.driver.list_zones()[0]
6486
records = self.driver.list_records(zone)
87+
88+
sent = VultrMockHttp.history.pop()
89+
self.assertEqual(sent.method, "GET")
90+
self.assertEqual(sent.url, "/v2/domains/example.com/records")
91+
6592
self.assertEqual(len(records), 5)
6693
record = records[0]
6794
self.assertEqual(record.id, "123")
@@ -72,6 +99,14 @@ def test_list_records(self):
7299
def test_create_record(self):
73100
zone = self.driver.list_zones()[0]
74101
record = self.driver.create_record("test1", zone, "A", "192.168.0.11")
102+
103+
sent = VultrMockHttp.history.pop()
104+
self.assertEqual(sent.method, "POST")
105+
self.assertEqual(sent.url, "/v2/domains/example.com/records")
106+
self.assertEqual(sent.json["name"], "test1")
107+
self.assertEqual(sent.json["type"], "A")
108+
self.assertEqual(sent.json["data"], "192.168.0.11")
109+
75110
self.assertEqual(record.id, "123")
76111
self.assertEqual(record.zone.domain, zone.domain)
77112
self.assertEqual(record.type, "A")
@@ -84,12 +119,26 @@ def test_update_record(self):
84119
response = self.driver.update_record(
85120
record, name="test", data="192.168.0.0", extra=dict(ttl=300, priority=1)
86121
)
122+
123+
sent = VultrMockHttp.history.pop()
124+
self.assertEqual(sent.method, "PATCH")
125+
self.assertEqual(sent.url, "/v2/domains/example.com/records/123")
126+
self.assertEqual(sent.json["name"], "test")
127+
self.assertEqual(sent.json["data"], "192.168.0.0")
128+
self.assertEqual(sent.json["ttl"], 300)
129+
self.assertEqual(sent.json["priority"], 1)
130+
87131
self.assertTrue(response)
88132

89133
def test_get_record(self):
90134
zone = self.driver.list_zones()[0]
91135
temp = self.driver.list_records(zone)[0]
92136
record = self.driver.get_record(zone.domain, temp.id)
137+
138+
sent = VultrMockHttp.history.pop()
139+
self.assertEqual(sent.method, "GET")
140+
self.assertEqual(sent.url, "/v2/domains/example.com/records/123")
141+
93142
self.assertEqual(record.id, "123")
94143
self.assertEqual(record.zone.domain, zone.domain)
95144
self.assertEqual(record.type, "NS")
@@ -101,11 +150,17 @@ def test_delete_record(self):
101150
zone = self.driver.list_zones()[0]
102151
record = self.driver.list_records(zone)[0]
103152
response = self.driver.delete_record(record)
153+
154+
sent = VultrMockHttp.history.pop()
155+
self.assertEqual(sent.method, "DELETE")
156+
self.assertEqual(sent.url, "/v2/domains/example.com/records/123")
157+
104158
self.assertTrue(response)
105159

106160

107161
class VultrMockHttp(MockHttp):
108162
fixtures = DNSFileFixtures("vultr_v2")
163+
keep_history = True
109164

110165
def _v2_domains(self, method, url, body, headers):
111166
if method == "GET":

0 commit comments

Comments
 (0)