summaryrefslogtreecommitdiff
path: root/openstackclient/tests
diff options
context:
space:
mode:
authorSheel Rana <ranasheel2000@gmail.com>2016-04-16 23:00:00 +0530
committerSheel Rana <ranasheel2000@gmail.com>2016-04-16 23:01:19 +0530
commit92950b6f5fcaae972ef51235223394b501844354 (patch)
treec7b40ffa52f6d3fe833d8c15d4dcbd84ebd640aa /openstackclient/tests
parente80048de09044adad3ad7bd8d323b025856bf94e (diff)
downloadpython-openstackclient-92950b6f5fcaae972ef51235223394b501844354.tar.gz
Add support for removing volume-type-access
OSC does not support to remove volume type access to project. This feature will provide support to remove volume type access from project. Closes-Bug:#1554890 Implements: bp cinder-command-support Change-Id: I029a4292da05f028e8937962cb845ec6e00b0279
Diffstat (limited to 'openstackclient/tests')
-rw-r--r--openstackclient/tests/volume/v2/test_type.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/openstackclient/tests/volume/v2/test_type.py b/openstackclient/tests/volume/v2/test_type.py
index 448da432..f0ca9b01 100644
--- a/openstackclient/tests/volume/v2/test_type.py
+++ b/openstackclient/tests/volume/v2/test_type.py
@@ -394,6 +394,14 @@ class TestTypeUnset(TestType):
loaded=True
)
+ # Return a project
+ self.projects_mock.get.return_value = fakes.FakeResource(
+ None,
+ copy.deepcopy(identity_fakes.PROJECT),
+ loaded=True,
+ )
+
+ # Get the command object to test
self.cmd = volume_type.UnsetVolumeType(self.app, None)
def test_type_unset(self):
@@ -413,3 +421,53 @@ class TestTypeUnset(TestType):
result = self.types_mock.get.return_value._keys
self.assertNotIn('property', result)
+
+ def test_type_unset_project_access(self):
+ arglist = [
+ '--project', identity_fakes.project_id,
+ volume_fakes.type_id,
+ ]
+ verifylist = [
+ ('project', identity_fakes.project_id),
+ ('volume_type', volume_fakes.type_id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+ self.assertIsNone(result)
+
+ self.types_access_mock.remove_project_access.assert_called_with(
+ volume_fakes.type_id,
+ identity_fakes.project_id,
+ )
+
+ def test_type_unset_not_called_without_project_argument(self):
+ arglist = [
+ '--project', '',
+ volume_fakes.type_id,
+ ]
+ verifylist = [
+ ('project', ''),
+ ('volume_type', volume_fakes.type_id),
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+ self.assertIsNone(result)
+
+ self.assertFalse(self.types_access_mock.remove_project_access.called)
+
+ def test_type_unset_failed_with_missing_volume_type_argument(self):
+ arglist = [
+ '--project', 'identity_fakes.project_id',
+ ]
+ verifylist = [
+ ('project', 'identity_fakes.project_id'),
+ ]
+
+ self.assertRaises(tests_utils.ParserException,
+ self.check_parser,
+ self.cmd,
+ arglist,
+ verifylist)