Skip to content

Commit b40c1c2

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

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

libcloud/test/dns/test_google.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ def setUp(self):
3131
GoogleDNSDriver.connectionCls.conn_class = GoogleDNSMockHttp
3232
GoogleBaseAuthConnection.conn_class = GoogleAuthMockHttp
3333
GoogleDNSMockHttp.type = None
34+
GoogleDNSMockHttp.history.clear()
3435
kwargs = DNS_KEYWORD_PARAMS_GOOGLE.copy()
3536
kwargs["auth_type"] = "IA"
3637
self.driver = GoogleDNSDriver(*DNS_PARAMS_GOOGLE, **kwargs)
@@ -40,15 +41,32 @@ def test_default_scopes(self):
4041

4142
def test_list_zones(self):
4243
zones = self.driver.list_zones()
44+
45+
sent = GoogleDNSMockHttp.history.pop()
46+
self.assertEqual(sent.method, "GET")
47+
self.assertEqual(sent.url, "/dns/v1/projects/project_name/managedZones")
48+
4349
self.assertEqual(len(zones), 2)
4450

4551
def test_list_records(self):
4652
zone = self.driver.list_zones()[0]
53+
GoogleDNSMockHttp.history.clear()
54+
4755
records = self.driver.list_records(zone=zone)
56+
57+
sent = GoogleDNSMockHttp.history.pop()
58+
self.assertEqual(sent.method, "GET")
59+
self.assertEqual(sent.url, f"/dns/v1/projects/project_name/managedZones/{zone.id}/rrsets")
60+
4861
self.assertEqual(len(records), 3)
4962

5063
def test_get_zone(self):
5164
zone = self.driver.get_zone("example-com")
65+
66+
sent = GoogleDNSMockHttp.history.pop()
67+
self.assertEqual(sent.method, "GET")
68+
self.assertEqual(sent.url, "/dns/v1/projects/project_name/managedZones/example-com")
69+
5270
self.assertEqual(zone.id, "example-com")
5371
self.assertEqual(zone.domain, "example.com.")
5472

@@ -65,7 +83,16 @@ def test_get_zone_does_not_exist(self):
6583
def test_get_record(self):
6684
GoogleDNSMockHttp.type = "FILTER_ZONES"
6785
zone = self.driver.list_zones()[0]
86+
GoogleDNSMockHttp.history.clear()
87+
6888
record = self.driver.get_record(zone.id, "A:foo.example.com.")
89+
90+
# [0] /dns/v1/projects/project_name/managedZones/{zone.id}/rrsets
91+
# [1] /dns/v1/projects/project_name/managedZones/{zone.id}
92+
sent = GoogleDNSMockHttp.history.pop(0)
93+
self.assertEqual(sent.method, "GET")
94+
self.assertEqual(sent.url, f"/dns/v1/projects/project_name/managedZones/{zone.id}/rrsets")
95+
6996
self.assertEqual(record.id, "A:foo.example.com.")
7097
self.assertEqual(record.name, "foo.example.com.")
7198
self.assertEqual(record.type, "A")
@@ -93,13 +120,25 @@ def test_get_record_record_does_not_exist(self):
93120
def test_create_zone(self):
94121
extra = {"description": "new domain for example.org"}
95122
zone = self.driver.create_zone("example.org.", extra)
123+
124+
sent = GoogleDNSMockHttp.history.pop()
125+
self.assertEqual(sent.method, "POST")
126+
self.assertEqual(sent.url, "/dns/v1/projects/project_name/managedZones")
127+
self.assertEqual(sent.json["name"], "example-org")
128+
self.assertEqual(sent.json["dnsName"], "example.org.")
129+
96130
self.assertEqual(zone.domain, "example.org.")
97131
self.assertEqual(zone.extra["description"], extra["description"])
98132
self.assertEqual(len(zone.extra["nameServers"]), 4)
99133

100134
def test_delete_zone(self):
101135
zone = self.driver.get_zone("example-com")
102136
res = self.driver.delete_zone(zone)
137+
138+
sent = GoogleDNSMockHttp.history.pop()
139+
self.assertEqual(sent.method, "DELETE")
140+
self.assertEqual(sent.url, "/dns/v1/projects/project_name/managedZones/example-com")
141+
103142
self.assertTrue(res)
104143

105144
def test_ex_bulk_record_changes(self):
@@ -115,6 +154,7 @@ def test_ex_bulk_record_changes(self):
115154

116155
class GoogleDNSMockHttp(MockHttp):
117156
fixtures = DNSFileFixtures("google")
157+
keep_history = True
118158

119159
def _dns_v1_projects_project_name_managedZones(self, method, url, body, headers):
120160
if method == "POST":

0 commit comments

Comments
 (0)