summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--designateclient/client.py7
-rw-r--r--designateclient/functionaltests/client.py5
-rw-r--r--designateclient/functionaltests/v2/test_recordsets.py10
-rw-r--r--designateclient/functionaltests/v2/test_zone.py5
-rw-r--r--designateclient/v2/cli/recordsets.py8
-rw-r--r--designateclient/v2/cli/zones.py7
6 files changed, 24 insertions, 18 deletions
diff --git a/designateclient/client.py b/designateclient/client.py
index b4df6e6..2c0e7b3 100644
--- a/designateclient/client.py
+++ b/designateclient/client.py
@@ -77,8 +77,11 @@ class Controller(object):
return body[response_key]
return body
- def _delete(self, url):
- resp, body = self.client.session.delete(url)
+ def _delete(self, url, response_key=None, **kwargs):
+ resp, body = self.client.session.delete(url, **kwargs)
+ if response_key is not None:
+ return body[response_key]
+ return body
@six.add_metaclass(abc.ABCMeta)
diff --git a/designateclient/functionaltests/client.py b/designateclient/functionaltests/client.py
index 0bac078..69ca2ca 100644
--- a/designateclient/functionaltests/client.py
+++ b/designateclient/functionaltests/client.py
@@ -79,7 +79,8 @@ class ZoneCommands(object):
**kwargs)
def zone_delete(self, id, *args, **kwargs):
- return self.parsed_cmd('zone delete %s' % id, *args, **kwargs)
+ return self.parsed_cmd('zone delete %s' % id, FieldValueModel, *args,
+ **kwargs)
def zone_create(self, name, email=None, ttl=None, description=None,
type=None, masters=None, *args, **kwargs):
@@ -214,7 +215,7 @@ class RecordsetCommands(object):
def recordset_delete(self, zone_id, id, *args, **kwargs):
cmd = 'recordset delete {0} {1}'.format(zone_id, id)
- return self.parsed_cmd(cmd, *args, **kwargs)
+ return self.parsed_cmd(cmd, FieldValueModel, *args, **kwargs)
class TLDCommands(object):
diff --git a/designateclient/functionaltests/v2/test_recordsets.py b/designateclient/functionaltests/v2/test_recordsets.py
index e104ba4..d8bc2af 100644
--- a/designateclient/functionaltests/v2/test_recordsets.py
+++ b/designateclient/functionaltests/v2/test_recordsets.py
@@ -69,13 +69,9 @@ class TestRecordset(BaseDesignateTest):
self.assertEqual(self.recordset.zone_id, self.zone.id)
def test_recordset_delete(self):
- self.clients.recordset_delete(self.zone.id, self.recordset.id)
- self.assertRaises(
- CommandFailed,
- self.clients.recordset_delete,
- self.zone.id,
- self.recordset.id,
- )
+ rset = self.clients.recordset_delete(self.zone.id, self.recordset.id)
+ self.assertEqual(rset.action, 'DELETE')
+ self.assertEqual(rset.status, 'PENDING')
def test_recordset_set(self):
rset = self.clients.recordset_set(
diff --git a/designateclient/functionaltests/v2/test_zone.py b/designateclient/functionaltests/v2/test_zone.py
index 85927e8..2873948 100644
--- a/designateclient/functionaltests/v2/test_zone.py
+++ b/designateclient/functionaltests/v2/test_zone.py
@@ -55,8 +55,9 @@ class TestZone(BaseDesignateTest):
self.assertEqual(self.zone.version, zone.version)
def test_zone_delete(self):
- self.clients.zone_delete(self.zone.id)
- self.assertRaises(CommandFailed, self.clients.zone_show, self.zone.id)
+ zone = self.clients.zone_delete(self.zone.id)
+ self.assertEqual(zone.action, 'DELETE')
+ self.assertEqual(zone.status, 'PENDING')
def test_zone_set(self):
ttl = int(self.zone.ttl) + 123
diff --git a/designateclient/v2/cli/recordsets.py b/designateclient/v2/cli/recordsets.py
index fc0f29a..00d9348 100644
--- a/designateclient/v2/cli/recordsets.py
+++ b/designateclient/v2/cli/recordsets.py
@@ -16,7 +16,6 @@
import logging
-from cliff import command
from cliff import lister
from cliff import show
import six
@@ -193,7 +192,7 @@ class SetRecordSetCommand(show.ShowOne):
return six.moves.zip(*sorted(six.iteritems(updated)))
-class DeleteRecordSetCommand(command.Command):
+class DeleteRecordSetCommand(show.ShowOne):
"""Delete recordset"""
def get_parser(self, prog_name):
@@ -206,6 +205,9 @@ class DeleteRecordSetCommand(command.Command):
def take_action(self, parsed_args):
client = self.app.client_manager.dns
- client.recordsets.delete(parsed_args.zone_id, parsed_args.id)
+ data = client.recordsets.delete(parsed_args.zone_id, parsed_args.id)
LOG.info('RecordSet %s was deleted', parsed_args.id)
+
+ _format_recordset(data)
+ return six.moves.zip(*sorted(six.iteritems(data)))
diff --git a/designateclient/v2/cli/zones.py b/designateclient/v2/cli/zones.py
index 938a49a..7f49671 100644
--- a/designateclient/v2/cli/zones.py
+++ b/designateclient/v2/cli/zones.py
@@ -193,7 +193,7 @@ class SetZoneCommand(show.ShowOne):
return six.moves.zip(*sorted(six.iteritems(updated)))
-class DeleteZoneCommand(command.Command):
+class DeleteZoneCommand(show.ShowOne):
"""Delete zone"""
def get_parser(self, prog_name):
@@ -205,9 +205,12 @@ class DeleteZoneCommand(command.Command):
def take_action(self, parsed_args):
client = self.app.client_manager.dns
- client.zones.delete(parsed_args.id)
+ data = client.zones.delete(parsed_args.id)
LOG.info('Zone %s was deleted', parsed_args.id)
+ _format_zone(data)
+ return six.moves.zip(*sorted(six.iteritems(data)))
+
class AbandonZoneCommand(command.Command):
"""Abandon a zone"""