From b13ac20e281d2c00030583cb8eeea06bb63398b7 Mon Sep 17 00:00:00 2001 From: Endre Karlson Date: Tue, 1 Sep 2015 21:42:03 +0200 Subject: [PATCH] Resolve TLD's by name Change-Id: I52d927ab3d5328e7b38198c6cfb60fe497f811d0 --- designateclient/tests/v2/test_tlds.py | 15 +++++++++++++++ designateclient/v2/tlds.py | 19 ++++++++++--------- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/designateclient/tests/v2/test_tlds.py b/designateclient/tests/v2/test_tlds.py index 74ffe54..080e8fe 100644 --- a/designateclient/tests/v2/test_tlds.py +++ b/designateclient/tests/v2/test_tlds.py @@ -56,6 +56,21 @@ class TestTlds(v2.APIV2TestCase, v2.CrudMixin): response = self.client.tlds.get(ref["id"]) self.assertEqual(ref, response) + def test_get_by_name(self): + ref = self.new_ref(name="www") + + self.stub_entity("GET", entity=ref, id=ref["id"]) + self.stub_url("GET", parts=[self.RESOURCE], json={"tlds": [ref]}) + + response = self.client.tlds.get(ref['name']) + + self.assertEqual("GET", self.requests.request_history[0].method) + self.assertEqual( + "http://127.0.0.1:9001/v2/tlds?name=www", + self.requests.request_history[0].url) + + self.assertEqual(ref, response) + def test_list(self): items = [ self.new_ref(), diff --git a/designateclient/v2/tlds.py b/designateclient/v2/tlds.py index a506cdb..2259190 100644 --- a/designateclient/v2/tlds.py +++ b/designateclient/v2/tlds.py @@ -14,6 +14,7 @@ # License for the specific language governing permissions and limitations # under the License. from designateclient import client +from designateclient.v2 import utils as v2_utils class TLDController(client.Controller): @@ -32,17 +33,17 @@ class TLDController(client.Controller): return self._get(url, response_key='tlds') - def get(self, tld_id): - url = '/tlds/%s' % tld_id + def get(self, tld): + tld = v2_utils.resolve_by_name(self.list, tld) - return self._get(url) + return self._get('/tlds/%s' % tld) - def update(self, tld_id, values): - url = '/tlds/%s' % tld_id + def update(self, tld, values): + tld = v2_utils.resolve_by_name(self.list, tld) - return self._patch(url, data=values) + return self._patch('/tlds/%s' % tld, data=values) - def delete(self, tld_id): - url = '/tlds/%s' % tld_id + def delete(self, tld): + tld = v2_utils.resolve_by_name(self.list, tld) - return self._delete(url) + return self._delete('/tlds/%s' % tld)