summaryrefslogtreecommitdiff
path: root/openstackclient/tests/object
diff options
context:
space:
mode:
authorTerryHowe <terrylhowe@gmail.com>2015-10-15 08:39:23 -0600
committerTerry Howe <terrylhowe@gmail.com>2016-02-05 11:18:46 -0700
commit514a168656823eb4897e38a15a1a769a7d18f44f (patch)
tree135b87cd43c11fd4a03b5e5eea818dcc9d04a07e /openstackclient/tests/object
parent42b607edf117e4a3f421a554308330409c88dbb1 (diff)
downloadpython-openstackclient-514a168656823eb4897e38a15a1a769a7d18f44f.tar.gz
Add recursive object delete for containers
Change-Id: Ib291e79864c218464e842a08efd3742193ba5ff0
Diffstat (limited to 'openstackclient/tests/object')
-rw-r--r--openstackclient/tests/object/v1/test_container.py90
1 files changed, 90 insertions, 0 deletions
diff --git a/openstackclient/tests/object/v1/test_container.py b/openstackclient/tests/object/v1/test_container.py
index afcb3386..d34d73e2 100644
--- a/openstackclient/tests/object/v1/test_container.py
+++ b/openstackclient/tests/object/v1/test_container.py
@@ -44,6 +44,96 @@ class TestContainer(object_fakes.TestObjectv1):
self.api = self.app.client_manager.object_store
+@mock.patch('openstackclient.api.object_store_v1.APIv1.object_delete')
+@mock.patch('openstackclient.api.object_store_v1.APIv1.object_list')
+@mock.patch('openstackclient.api.object_store_v1.APIv1.container_delete')
+class TestContainerDelete(TestContainer):
+
+ def setUp(self):
+ super(TestContainerDelete, self).setUp()
+
+ # Get the command object to test
+ self.cmd = container.DeleteContainer(self.app, None)
+
+ def test_container_delete(self, c_mock, o_list_mock, o_delete_mock):
+ c_mock.return_value = None
+
+ arglist = [
+ object_fakes.container_name,
+ ]
+ verifylist = [
+ ('containers', [object_fakes.container_name]),
+ ('recursive', False),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ self.assertEqual(None, self.cmd.take_action(parsed_args))
+
+ kwargs = {}
+ c_mock.assert_called_with(
+ container=object_fakes.container_name,
+ **kwargs
+ )
+ self.assertFalse(o_list_mock.called)
+ self.assertFalse(o_delete_mock.called)
+
+ def test_recursive_delete(self, c_mock, o_list_mock, o_delete_mock):
+ c_mock.return_value = None
+ o_list_mock.return_value = [object_fakes.OBJECT]
+ o_delete_mock.return_value = None
+
+ arglist = [
+ '--recursive',
+ object_fakes.container_name,
+ ]
+ verifylist = [
+ ('containers', [object_fakes.container_name]),
+ ('recursive', True),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ self.assertEqual(None, self.cmd.take_action(parsed_args))
+
+ kwargs = {}
+ c_mock.assert_called_with(
+ container=object_fakes.container_name,
+ **kwargs
+ )
+ o_list_mock.assert_called_with(container=object_fakes.container_name)
+ o_delete_mock.assert_called_with(
+ container=object_fakes.container_name,
+ object=object_fakes.OBJECT['name'],
+ )
+
+ def test_r_delete(self, c_mock, o_list_mock, o_delete_mock):
+ c_mock.return_value = None
+ o_list_mock.return_value = [object_fakes.OBJECT]
+ o_delete_mock.return_value = None
+
+ arglist = [
+ '-r',
+ object_fakes.container_name,
+ ]
+ verifylist = [
+ ('containers', [object_fakes.container_name]),
+ ('recursive', True),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ self.assertEqual(None, self.cmd.take_action(parsed_args))
+
+ kwargs = {}
+ c_mock.assert_called_with(
+ container=object_fakes.container_name,
+ **kwargs
+ )
+ o_list_mock.assert_called_with(container=object_fakes.container_name)
+ o_delete_mock.assert_called_with(
+ container=object_fakes.container_name,
+ object=object_fakes.OBJECT['name'],
+ )
+
+
@mock.patch(
'openstackclient.api.object_store_v1.APIv1.container_list'
)