diff options
| author | Alan Bishop <abishop@redhat.com> | 2018-08-10 10:20:34 -0400 |
|---|---|---|
| committer | Alan Bishop <abishop@redhat.com> | 2018-08-10 10:20:34 -0400 |
| commit | 030fd71390e8e4b8413e916e64076337035f9aa7 (patch) | |
| tree | 49c75eb0224148002aa3919e7439e006d39d6ce0 /openstackclient/tests/unit | |
| parent | a051bda1118158cef219cddf94a24483f6b1513b (diff) | |
| download | python-openstackclient-030fd71390e8e4b8413e916e64076337035f9aa7.tar.gz | |
Deprecate volume create --project and --user options
Cinder's volume create API does not support overriding the project_id and
user_id, and it silently igores those API inputs. Cinder always uses the
project and user info in the keystone identity associated with the API
request.
If a user specifies the --project or --user option, the volume create is
aborted and a CommandError exception is raised. This prevents a volume
from being created, but without the desired project/user values.
A user wishing to specify alternate values can still do so using identity
overrides (e.g. --os-username, --os-project-id).
Story: 2002583
Task: 22192
Change-Id: Ia9f910ea1b0e61797e8c8c463fa28e7390f15bf9
Diffstat (limited to 'openstackclient/tests/unit')
| -rw-r--r-- | openstackclient/tests/unit/volume/v2/test_volume.py | 94 |
1 files changed, 10 insertions, 84 deletions
diff --git a/openstackclient/tests/unit/volume/v2/test_volume.py b/openstackclient/tests/unit/volume/v2/test_volume.py index 971567cb..bb6263bb 100644 --- a/openstackclient/tests/unit/volume/v2/test_volume.py +++ b/openstackclient/tests/unit/volume/v2/test_volume.py @@ -126,8 +126,6 @@ class TestVolumeCreate(TestVolume): name=self.new_volume.name, description=None, volume_type=None, - user_id=None, - project_id=None, availability_zone=None, metadata=None, imageRef=None, @@ -177,8 +175,6 @@ class TestVolumeCreate(TestVolume): name=self.new_volume.name, description=self.new_volume.description, volume_type=self.new_volume.volume_type, - user_id=None, - project_id=None, availability_zone=self.new_volume.availability_zone, metadata=None, imageRef=None, @@ -191,95 +187,39 @@ class TestVolumeCreate(TestVolume): self.assertEqual(self.columns, columns) self.assertEqual(self.datalist, data) - def test_volume_create_user_project_id(self): - # Return a project - self.projects_mock.get.return_value = self.project - # Return a user - self.users_mock.get.return_value = self.user - + def test_volume_create_user(self): arglist = [ '--size', str(self.new_volume.size), - '--project', self.project.id, '--user', self.user.id, self.new_volume.name, ] verifylist = [ ('size', self.new_volume.size), - ('project', self.project.id), ('user', self.user.id), ('name', self.new_volume.name), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) - # In base command class ShowOne in cliff, abstract method take_action() - # returns a two-part tuple with a tuple of column names and a tuple of - # data to be shown. - columns, data = self.cmd.take_action(parsed_args) - - self.volumes_mock.create.assert_called_with( - size=self.new_volume.size, - snapshot_id=None, - name=self.new_volume.name, - description=None, - volume_type=None, - user_id=self.user.id, - project_id=self.project.id, - availability_zone=None, - metadata=None, - imageRef=None, - source_volid=None, - consistencygroup_id=None, - multiattach=False, - scheduler_hints=None, - ) - - self.assertEqual(self.columns, columns) - self.assertEqual(self.datalist, data) - - def test_volume_create_user_project_name(self): - # Return a project - self.projects_mock.get.return_value = self.project - # Return a user - self.users_mock.get.return_value = self.user + self.assertRaises(exceptions.CommandError, self.cmd.take_action, + parsed_args) + self.volumes_mock.create.assert_not_called() + def test_volume_create_project(self): arglist = [ '--size', str(self.new_volume.size), - '--project', self.project.name, - '--user', self.user.name, + '--project', self.project.id, self.new_volume.name, ] verifylist = [ ('size', self.new_volume.size), - ('project', self.project.name), - ('user', self.user.name), + ('project', self.project.id), ('name', self.new_volume.name), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) - # In base command class ShowOne in cliff, abstract method take_action() - # returns a two-part tuple with a tuple of column names and a tuple of - # data to be shown. - columns, data = self.cmd.take_action(parsed_args) - - self.volumes_mock.create.assert_called_with( - size=self.new_volume.size, - snapshot_id=None, - name=self.new_volume.name, - description=None, - volume_type=None, - user_id=self.user.id, - project_id=self.project.id, - availability_zone=None, - metadata=None, - imageRef=None, - source_volid=None, - consistencygroup_id=None, - multiattach=False, - scheduler_hints=None, - ) - - self.assertEqual(self.columns, columns) - self.assertEqual(self.datalist, data) + self.assertRaises(exceptions.CommandError, self.cmd.take_action, + parsed_args) + self.volumes_mock.create.assert_not_called() def test_volume_create_properties(self): arglist = [ @@ -306,8 +246,6 @@ class TestVolumeCreate(TestVolume): name=self.new_volume.name, description=None, volume_type=None, - user_id=None, - project_id=None, availability_zone=None, metadata={'Alpha': 'a', 'Beta': 'b'}, imageRef=None, @@ -347,8 +285,6 @@ class TestVolumeCreate(TestVolume): name=self.new_volume.name, description=None, volume_type=None, - user_id=None, - project_id=None, availability_zone=None, metadata=None, imageRef=image.id, @@ -388,8 +324,6 @@ class TestVolumeCreate(TestVolume): name=self.new_volume.name, description=None, volume_type=None, - user_id=None, - project_id=None, availability_zone=None, metadata=None, imageRef=image.id, @@ -428,8 +362,6 @@ class TestVolumeCreate(TestVolume): name=self.new_volume.name, description=None, volume_type=None, - user_id=None, - project_id=None, availability_zone=None, metadata=None, imageRef=None, @@ -469,8 +401,6 @@ class TestVolumeCreate(TestVolume): name=self.new_volume.name, description=None, volume_type=None, - user_id=None, - project_id=None, availability_zone=None, metadata=None, imageRef=None, @@ -514,8 +444,6 @@ class TestVolumeCreate(TestVolume): name=self.new_volume.name, description=None, volume_type=None, - user_id=None, - project_id=None, availability_zone=None, metadata=None, imageRef=None, @@ -568,8 +496,6 @@ class TestVolumeCreate(TestVolume): name=self.new_volume.name, description=None, volume_type=None, - user_id=None, - project_id=None, availability_zone=None, metadata=None, imageRef=None, |
