diff options
| author | Rui Chen <chenrui.momo@gmail.com> | 2017-01-20 14:37:14 +0800 |
|---|---|---|
| committer | Rui Chen <chenrui.momo@gmail.com> | 2017-05-26 11:37:09 +0800 |
| commit | 6aceca218af7d1d2c708fde48f1a5f2b798bc421 (patch) | |
| tree | f61ad5a7cfd347a2f94646e2a1b305932e13dee1 /openstackclient/tests/unit/volume | |
| parent | b78153aec4f050e64ee8ec9c930ae673bb3ecd47 (diff) | |
| download | python-openstackclient-6aceca218af7d1d2c708fde48f1a5f2b798bc421.tar.gz | |
Replace "Display Name" by "Name" in volume list
Current "volume list --name" command use "display_name" as search_opts
to send to cinder API, and show the result table with "Display Name"
column title in osc, cinder list API support "name" as search opts too,
and there is "name" attribute in volume response body, so we can replace
all "Display Name" by "Name" in order to keep "volume list" command
consistent with other commands, like: server list, network list and so
on, only use "Name" attribute for all objects.
Support a mapping for volume list -c "Display Name" (Volume v1 and v2)
and volume create/show -c "display_name" (Volume v1) for minimal
backward compatibility until R release.
Change-Id: I120be0118e7bb30093b4237c5eeb69a9eedef077
Closes-Bug: #1657956
Depends-On: I1fb62219b092346ea380099811cbd082cae5bafe
Diffstat (limited to 'openstackclient/tests/unit/volume')
| -rw-r--r-- | openstackclient/tests/unit/volume/v1/test_volume.py | 84 | ||||
| -rw-r--r-- | openstackclient/tests/unit/volume/v2/test_volume.py | 60 |
2 files changed, 126 insertions, 18 deletions
diff --git a/openstackclient/tests/unit/volume/v1/test_volume.py b/openstackclient/tests/unit/volume/v1/test_volume.py index d46a7ba9..6b793773 100644 --- a/openstackclient/tests/unit/volume/v1/test_volume.py +++ b/openstackclient/tests/unit/volume/v1/test_volume.py @@ -68,8 +68,8 @@ class TestVolumeCreate(TestVolume): 'bootable', 'created_at', 'display_description', - 'display_name', 'id', + 'name', 'properties', 'size', 'snapshot_id', @@ -86,8 +86,8 @@ class TestVolumeCreate(TestVolume): self.new_volume.bootable, self.new_volume.created_at, self.new_volume.display_description, - self.new_volume.display_name, self.new_volume.id, + self.new_volume.display_name, utils.format_dict(self.new_volume.metadata), self.new_volume.size, self.new_volume.snapshot_id, @@ -598,6 +598,38 @@ class TestVolumeCreate(TestVolume): self.assertRaises(tests_utils.ParserException, self.check_parser, self.cmd, arglist, verifylist) + def test_volume_create_backward_compatibility(self): + arglist = [ + '-c', 'display_name', + '--size', str(self.new_volume.size), + self.new_volume.display_name, + ] + verifylist = [ + ('columns', ['display_name']), + ('size', self.new_volume.size), + ('name', self.new_volume.display_name), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + columns, data = self.cmd.take_action(parsed_args) + + self.volumes_mock.create.assert_called_with( + self.new_volume.size, + None, + None, + self.new_volume.display_name, + None, + None, + None, + None, + None, + None, + None, + ) + self.assertIn('display_name', columns) + self.assertNotIn('name', columns) + self.assertIn(self.new_volume.display_name, data) + class TestVolumeDelete(TestVolume): @@ -695,7 +727,7 @@ class TestVolumeList(TestVolume): _volume = volume_fakes.FakeVolume.create_one_volume() columns = ( 'ID', - 'Display Name', + 'Name', 'Status', 'Size', 'Attached to', @@ -806,7 +838,7 @@ class TestVolumeList(TestVolume): collist = ( 'ID', - 'Display Name', + 'Name', 'Status', 'Size', 'Type', @@ -863,6 +895,27 @@ class TestVolumeList(TestVolume): self.assertRaises(argparse.ArgumentTypeError, self.check_parser, self.cmd, arglist, verifylist) + def test_volume_list_backward_compatibility(self): + arglist = [ + '-c', 'Display Name', + ] + verifylist = [ + ('columns', ['Display Name']), + ('long', False), + ('all_projects', False), + ('name', None), + ('status', None), + ('limit', None), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + columns, data = self.cmd.take_action(parsed_args) + + self.assertIn('Display Name', columns) + self.assertNotIn('Name', columns) + for each_volume in data: + self.assertIn(self._volume.display_name, each_volume) + class TestVolumeMigrate(TestVolume): @@ -1178,8 +1231,8 @@ class TestVolumeShow(TestVolume): 'bootable', 'created_at', 'display_description', - 'display_name', 'id', + 'name', 'properties', 'size', 'snapshot_id', @@ -1196,8 +1249,8 @@ class TestVolumeShow(TestVolume): self._volume.bootable, self._volume.created_at, self._volume.display_description, - self._volume.display_name, self._volume.id, + self._volume.display_name, utils.format_dict(self._volume.metadata), self._volume.size, self._volume.snapshot_id, @@ -1223,6 +1276,25 @@ class TestVolumeShow(TestVolume): self.assertEqual(self.columns, columns) self.assertEqual(self.datalist, data) + def test_volume_show_backward_compatibility(self): + arglist = [ + '-c', 'display_name', + self._volume.id, + ] + verifylist = [ + ('columns', ['display_name']), + ('volume', self._volume.id), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + columns, data = self.cmd.take_action(parsed_args) + + self.volumes_mock.get.assert_called_with(self._volume.id) + + self.assertIn('display_name', columns) + self.assertNotIn('name', columns) + self.assertIn(self._volume.display_name, data) + class TestVolumeUnset(TestVolume): diff --git a/openstackclient/tests/unit/volume/v2/test_volume.py b/openstackclient/tests/unit/volume/v2/test_volume.py index fbe719f3..71e4ecea 100644 --- a/openstackclient/tests/unit/volume/v2/test_volume.py +++ b/openstackclient/tests/unit/volume/v2/test_volume.py @@ -790,7 +790,7 @@ class TestVolumeList(TestVolume): columns = [ 'ID', - 'Display Name', + 'Name', 'Status', 'Size', 'Attached to', @@ -827,7 +827,7 @@ class TestVolumeList(TestVolume): 'all_tenants': False, 'project_id': None, 'user_id': None, - 'display_name': None, + 'name': None, 'status': None, } self.volumes_mock.list.assert_called_once_with( @@ -870,7 +870,7 @@ class TestVolumeList(TestVolume): 'all_tenants': True, 'project_id': self.project.id, 'user_id': None, - 'display_name': None, + 'name': None, 'status': None, } self.volumes_mock.list.assert_called_once_with( @@ -915,7 +915,7 @@ class TestVolumeList(TestVolume): 'all_tenants': True, 'project_id': self.project.id, 'user_id': None, - 'display_name': None, + 'name': None, 'status': None, } self.volumes_mock.list.assert_called_once_with( @@ -958,7 +958,7 @@ class TestVolumeList(TestVolume): 'all_tenants': False, 'project_id': None, 'user_id': self.user.id, - 'display_name': None, + 'name': None, 'status': None, } self.volumes_mock.list.assert_called_once_with( @@ -1002,7 +1002,7 @@ class TestVolumeList(TestVolume): 'all_tenants': False, 'project_id': None, 'user_id': self.user.id, - 'display_name': None, + 'name': None, 'status': None, } self.volumes_mock.list.assert_called_once_with( @@ -1045,7 +1045,7 @@ class TestVolumeList(TestVolume): 'all_tenants': False, 'project_id': None, 'user_id': None, - 'display_name': self.mock_volume.name, + 'name': self.mock_volume.name, 'status': None, } self.volumes_mock.list.assert_called_once_with( @@ -1088,7 +1088,7 @@ class TestVolumeList(TestVolume): 'all_tenants': False, 'project_id': None, 'user_id': None, - 'display_name': None, + 'name': None, 'status': self.mock_volume.status, } self.volumes_mock.list.assert_called_once_with( @@ -1131,7 +1131,7 @@ class TestVolumeList(TestVolume): 'all_tenants': True, 'project_id': None, 'user_id': None, - 'display_name': None, + 'name': None, 'status': None, } self.volumes_mock.list.assert_called_once_with( @@ -1175,7 +1175,7 @@ class TestVolumeList(TestVolume): 'all_tenants': False, 'project_id': None, 'user_id': None, - 'display_name': None, + 'name': None, 'status': None, } self.volumes_mock.list.assert_called_once_with( @@ -1186,7 +1186,7 @@ class TestVolumeList(TestVolume): collist = [ 'ID', - 'Display Name', + 'Name', 'Status', 'Size', 'Type', @@ -1248,7 +1248,7 @@ class TestVolumeList(TestVolume): 'status': None, 'project_id': None, 'user_id': None, - 'display_name': None, + 'name': None, 'all_tenants': False, } ) self.assertEqual(datalist, tuple(data)) @@ -1263,6 +1263,42 @@ class TestVolumeList(TestVolume): self.assertRaises(argparse.ArgumentTypeError, self.check_parser, self.cmd, arglist, verifylist) + def test_volume_list_backward_compatibility(self): + arglist = [ + '-c', 'Display Name', + ] + verifylist = [ + ('columns', ['Display Name']), + ('long', False), + ('all_projects', False), + ('name', None), + ('status', None), + ('marker', None), + ('limit', None), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + columns, data = self.cmd.take_action(parsed_args) + + search_opts = { + 'all_tenants': False, + 'project_id': None, + 'user_id': None, + 'name': None, + 'status': None, + } + self.volumes_mock.list.assert_called_once_with( + search_opts=search_opts, + marker=None, + limit=None, + ) + + self.assertIn('Display Name', columns) + self.assertNotIn('Name', columns) + + for each_volume in data: + self.assertIn(self.mock_volume.name, each_volume) + class TestVolumeMigrate(TestVolume): |
