From 0707bde0050af6ea396b5796ee4441268db6d34c Mon Sep 17 00:00:00 2001 From: Fei Long Wang Date: Thu, 23 Feb 2017 12:13:26 +1300 Subject: [PATCH] Change resource_types action Change resource_types action for purge so that when developer use the zaqar client lib, the parameter 'resource_types' can be passed in an array instead of a string. It makes more sense and be consistent with the API. Change-Id: Idbf514d76219548c0dbfbcf96fe931c681276443 --- zaqarclient/queues/v2/cli.py | 1 + zaqarclient/queues/v2/core.py | 2 +- zaqarclient/tests/queues/queues.py | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/zaqarclient/queues/v2/cli.py b/zaqarclient/queues/v2/cli.py index 3879fe62..aa61a35c 100644 --- a/zaqarclient/queues/v2/cli.py +++ b/zaqarclient/queues/v2/cli.py @@ -72,6 +72,7 @@ class PurgeQueue(command.Command): parser.add_argument( "--resource_types", metavar="", + action='append', choices=['messages', 'subscriptions'], help="Resource types want to be purged.") return parser diff --git a/zaqarclient/queues/v2/core.py b/zaqarclient/queues/v2/core.py index 7475217e..a82003a0 100644 --- a/zaqarclient/queues/v2/core.py +++ b/zaqarclient/queues/v2/core.py @@ -103,7 +103,7 @@ def queue_purge(transport, request, name, resource_types=None): request.operation = 'queue_purge' request.params['queue_name'] = name if resource_types: - request.content = json.dumps({'resource_types': [resource_types]}) + request.content = json.dumps({'resource_types': resource_types}) resp = transport.send(request) return resp.deserialized_content diff --git a/zaqarclient/tests/queues/queues.py b/zaqarclient/tests/queues/queues.py index e992e6b1..8d3a2b37 100644 --- a/zaqarclient/tests/queues/queues.py +++ b/zaqarclient/tests/queues/queues.py @@ -579,7 +579,7 @@ class QueuesV2QueueUnitTest(QueuesV1_1QueueUnitTest): send_method.return_value = resp self.queue.purge(resource_types=['messages']) - self.assertEqual({"resource_types": [["messages"]]}, + self.assertEqual({"resource_types": ["messages"]}, json.loads(send_method.call_args[0][0].content))