Skip to content

Commit 2bda138

Browse files
author
Aaron Sierra
committed
dns: google: Leverage {to,from}_default_id()
1 parent c0df4fd commit 2bda138

File tree

2 files changed

+11
-14
lines changed

2 files changed

+11
-14
lines changed

libcloud/dns/drivers/google.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -134,11 +134,12 @@ def get_record(self, zone_id, record_id):
134134
135135
:rtype: :class:`Record`
136136
"""
137-
(record_type, record_name) = record_id.split(":", 1)
137+
zone = self.get_zone(zone_id)
138+
parts = self.from_default_id(zone, record_id)
138139

139140
params = {
140-
"name": record_name,
141-
"type": record_type,
141+
"name": parts.name,
142+
"type": parts.type,
142143
}
143144

144145
request = "/managedZones/%s/rrsets" % (zone_id)
@@ -149,8 +150,6 @@ def get_record(self, zone_id, record_id):
149150
raise ZoneDoesNotExistError(value="", driver=self.connection.driver, zone_id=zone_id)
150151

151152
if len(response["rrsets"]) > 0:
152-
zone = self.get_zone(zone_id)
153-
154153
return self._to_record(response["rrsets"][0], zone)
155154

156155
raise RecordDoesNotExistError(value="", driver=self.connection.driver, record_id=record_id)
@@ -386,10 +385,8 @@ def _to_records(self, response, zone):
386385
return records
387386

388387
def _to_record(self, r, zone):
389-
record_id = "{}:{}".format(r["type"], r["name"])
390-
391388
return Record(
392-
id=record_id,
389+
id=self.to_default_id(zone, r["name"], r["type"]),
393390
name=r["name"],
394391
type=r["type"],
395392
data=r,

libcloud/test/dns/test_google.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,15 @@ def test_get_record(self):
8585
zone = self.driver.list_zones()[0]
8686
GoogleDNSMockHttp.history.clear()
8787

88-
record = self.driver.get_record(zone.id, "A:foo.example.com.")
88+
record = self.driver.get_record(zone.id, "A:foo")
8989

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)
90+
# [0] /dns/v1/projects/project_name/managedZones/{zone.id}
91+
# [1] /dns/v1/projects/project_name/managedZones/{zone.id}/rrsets
92+
sent = GoogleDNSMockHttp.history.pop()
9393
self.assertEqual(sent.method, 'GET')
9494
self.assertEqual(sent.url, f'/dns/v1/projects/project_name/managedZones/{zone.id}/rrsets')
9595

96-
self.assertEqual(record.id, "A:foo.example.com.")
96+
self.assertEqual(record.id, "A:foo")
9797
self.assertEqual(record.fqdn, "foo.example.com.")
9898
self.assertEqual(record.type, "A")
9999
self.assertEqual(record.zone.id, "example-com")
@@ -102,7 +102,7 @@ def test_get_record_zone_does_not_exist(self):
102102
GoogleDNSMockHttp.type = "ZONE_DOES_NOT_EXIST"
103103

104104
try:
105-
self.driver.get_record("example-com", "a:a")
105+
self.driver.get_record("example-com", "A:a")
106106
except ZoneDoesNotExistError as e:
107107
self.assertEqual(e.zone_id, "example-com")
108108
else:

0 commit comments

Comments
 (0)