From 5bea6aa138cd5c4e9524da7bca24d34383273a77 Mon Sep 17 00:00:00 2001 From: Everett Toews Date: Fri, 29 May 2015 14:04:06 -0500 Subject: [PATCH] Delete queue Change-Id: I921e3dfe575cbf0fa0e72f42f4cda5315586fd32 --- openstack/message/v1/_proxy.py | 15 +++++++++++++++ openstack/message/v1/queue.py | 2 +- openstack/tests/unit/message/v1/test_proxy.py | 8 ++++++++ openstack/tests/unit/message/v1/test_queue.py | 2 +- 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/openstack/message/v1/_proxy.py b/openstack/message/v1/_proxy.py index 3fcbc518..5cf41128 100644 --- a/openstack/message/v1/_proxy.py +++ b/openstack/message/v1/_proxy.py @@ -27,3 +27,18 @@ class Proxy(proxy.BaseProxy): :rtype: :class:`~openstack.message.v1.queue.Queue` """ return self._create(queue.Queue, **attrs) + + def delete_queue(self, value, ignore_missing=True): + """Delete a queue + + :param value: The value can be either the name of a queue or a + :class:`~openstack.message.v1.queue.Queue` instance. + :param bool ignore_missing: When set to ``False`` + :class:`~openstack.exceptions.ResourceNotFound` will be + raised when the queue does not exist. + When set to ``True``, no exception will be set when + attempting to delete a nonexistent queue. + + :returns: ``None`` + """ + return self._delete(queue.Queue, value, ignore_missing=ignore_missing) diff --git a/openstack/message/v1/queue.py b/openstack/message/v1/queue.py index 1d99aff7..e88e3930 100644 --- a/openstack/message/v1/queue.py +++ b/openstack/message/v1/queue.py @@ -24,7 +24,7 @@ class Queue(resource.Resource): allow_create = True allow_list = False allow_retrieve = False - allow_delete = False + allow_delete = True @classmethod def create_by_id(cls, session, attrs, resource_id=None, path_args=None): diff --git a/openstack/tests/unit/message/v1/test_proxy.py b/openstack/tests/unit/message/v1/test_proxy.py index 58a5982a..ea4e7905 100644 --- a/openstack/tests/unit/message/v1/test_proxy.py +++ b/openstack/tests/unit/message/v1/test_proxy.py @@ -27,3 +27,11 @@ class TestMessageProxy(test_proxy_base.TestProxyBase): method_kwargs=kwargs, expected_args=[queue.Queue], expected_kwargs=kwargs) + + def test_queue_delete(self): + self.verify_delete3(queue.Queue, self.proxy.delete_queue, + ignore_missing=False) + + def test_queue_delete_ignore(self): + self.verify_delete3(queue.Queue, self.proxy.delete_queue, + ignore_missing=True) diff --git a/openstack/tests/unit/message/v1/test_queue.py b/openstack/tests/unit/message/v1/test_queue.py index 46ac0d4b..a1ff3022 100644 --- a/openstack/tests/unit/message/v1/test_queue.py +++ b/openstack/tests/unit/message/v1/test_queue.py @@ -32,7 +32,7 @@ class TestQueue(testtools.TestCase): self.assertTrue(sot.allow_create) self.assertFalse(sot.allow_retrieve) self.assertFalse(sot.allow_update) - self.assertFalse(sot.allow_delete) + self.assertTrue(sot.allow_delete) self.assertFalse(sot.allow_list) def test_make_it(self):