Merge "Show responses on zone and recordset deletes"

This commit is contained in:
Jenkins 2016-03-31 14:12:53 +00:00 committed by Gerrit Code Review
commit ead5a2e224
6 changed files with 24 additions and 18 deletions

View File

@ -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)

View File

@ -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):

View File

@ -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(

View File

@ -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

View File

@ -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)))

View File

@ -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"""