diff options
| author | Sheel Rana <ranasheel2000@gmail.com> | 2016-04-16 23:00:00 +0530 |
|---|---|---|
| committer | Sheel Rana <ranasheel2000@gmail.com> | 2016-04-16 23:01:19 +0530 |
| commit | 92950b6f5fcaae972ef51235223394b501844354 (patch) | |
| tree | c7b40ffa52f6d3fe833d8c15d4dcbd84ebd640aa /openstackclient/tests | |
| parent | e80048de09044adad3ad7bd8d323b025856bf94e (diff) | |
| download | python-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.py | 58 |
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) |
