Skip to content

Commit 25c7764

Browse files
author
Aaron Sierra
committed
dns: godaddy: Add API request checking
1 parent ef33880 commit 25c7764

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

libcloud/test/dns/test_godaddy.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
class GoDaddyTests(unittest.TestCase):
2828
def setUp(self):
2929
GoDaddyMockHttp.type = None
30+
GoDaddyMockHttp.history.clear()
3031
GoDaddyDNSDriver.connectionCls.conn_class = GoDaddyMockHttp
3132
self.driver = GoDaddyDNSDriver(*DNS_PARAMS_GODADDY)
3233

@@ -36,6 +37,11 @@ def assertHasKeys(self, dictionary, keys):
3637

3738
def test_list_zones(self):
3839
zones = self.driver.list_zones()
40+
41+
sent = GoDaddyMockHttp.history.pop()
42+
self.assertEqual(sent.method, "GET")
43+
self.assertEqual(sent.url, "/v1/domains/")
44+
3945
self.assertEqual(len(zones), 5)
4046
self.assertEqual(zones[0].id, "177184419")
4147
self.assertEqual(zones[0].domain, "aperture-platform.com")
@@ -75,6 +81,11 @@ def test_list_records(self):
7581
driver=self.driver,
7682
)
7783
records = self.driver.list_records(zone)
84+
85+
sent = GoDaddyMockHttp.history.pop()
86+
self.assertEqual(sent.method, "GET")
87+
self.assertEqual(sent.url, "/v1/domains/aperture-platform.com/records")
88+
7889
self.assertEqual(len(records), 14)
7990
self.assertEqual(records[0].type, RecordType.A)
8091
self.assertEqual(records[0].name, "@")
@@ -83,6 +94,13 @@ def test_list_records(self):
8394

8495
def test_get_record(self):
8596
record = self.driver.get_record("aperture-platform.com", "www:A")
97+
98+
# [0] /v1/domains/aperture-platform.com/records/A/www
99+
# [1] /v1/domains/aperture-platform.com/
100+
sent = GoDaddyMockHttp.history[0]
101+
self.assertEqual(sent.method, "GET")
102+
self.assertEqual(sent.url, "/v1/domains/aperture-platform.com/records/A/www")
103+
86104
self.assertEqual(record.id, "www:A")
87105
self.assertEqual(record.name, "www")
88106
self.assertEqual(record.type, RecordType.A)
@@ -99,6 +117,15 @@ def test_create_record(self):
99117
record = self.driver.create_record(
100118
zone=zone, name="www", type=RecordType.A, data="50.63.202.42"
101119
)
120+
121+
sent = GoDaddyMockHttp.history.pop()
122+
self.assertEqual(sent.method, "PATCH")
123+
self.assertEqual(sent.url, "/v1/domains/aperture-platform.com/records")
124+
data = sent.json[0]
125+
self.assertEqual(data["name"], "www")
126+
self.assertEqual(data["type"], "A")
127+
self.assertEqual(data["data"], "50.63.202.42")
128+
102129
self.assertEqual(record.id, "www:A")
103130
self.assertEqual(record.name, "www")
104131
self.assertEqual(record.type, RecordType.A)
@@ -109,13 +136,27 @@ def test_update_record(self):
109136
record = self.driver.update_record(
110137
record=record, name="www", type=RecordType.A, data="50.63.202.22"
111138
)
139+
140+
sent = GoDaddyMockHttp.history.pop()
141+
self.assertEqual(sent.method, "PUT")
142+
self.assertEqual(sent.url, "/v1/domains/aperture-platform.com/records/A/www")
143+
data = sent.json[0]
144+
self.assertEqual(data["name"], "www")
145+
self.assertEqual(data["type"], "A")
146+
self.assertEqual(data["data"], "50.63.202.22")
147+
112148
self.assertEqual(record.id, "www:A")
113149
self.assertEqual(record.name, "www")
114150
self.assertEqual(record.type, RecordType.A)
115151
self.assertEqual(record.data, "50.63.202.22")
116152

117153
def test_get_zone(self):
118154
zone = self.driver.get_zone("aperture-platform.com")
155+
156+
sent = GoDaddyMockHttp.history.pop()
157+
self.assertEqual(sent.method, "GET")
158+
self.assertEqual(sent.url, "/v1/domains/aperture-platform.com/")
159+
119160
self.assertEqual(zone.id, "177184419")
120161
self.assertEqual(zone.domain, "aperture-platform.com")
121162

@@ -129,9 +170,14 @@ def test_delete_zone(self):
129170
)
130171
self.driver.delete_zone(zone)
131172

173+
sent = GoDaddyMockHttp.history.pop()
174+
self.assertEqual(sent.method, "DELETE")
175+
self.assertEqual(sent.url, "/v1/domains/aperture-platform.com")
176+
132177

133178
class GoDaddyMockHttp(MockHttp):
134179
fixtures = DNSFileFixtures("godaddy")
180+
keep_history = True
135181

136182
def _v1_domains(self, method, url, body, headers):
137183
body = self.fixtures.load("v1_domains.json")

0 commit comments

Comments
 (0)