diff options
| author | zhiyuan_cai <luckyvega.g@gmail.com> | 2015-01-21 17:19:46 +0800 |
|---|---|---|
| committer | zhiyuan_cai <luckyvega.g@gmail.com> | 2015-02-06 10:57:10 +0800 |
| commit | 42cff388349186b70559650237d2667da1cb903f (patch) | |
| tree | 055ea0522cbb7293dc5d941477aaaa6d9fae86fe /openstackclient/tests/image | |
| parent | 0cc3955f0aedab76313aa09edd3f31bb9d08b55d (diff) | |
| download | python-openstackclient-42cff388349186b70559650237d2667da1cb903f.tar.gz | |
Add sort support to image list
Add sort support to image list by sorting items in the client side.
The parameter syntax follows this spec[1].
[1] https://review.openstack.org/#/c/145544/
Change-Id: I42b487d18f00f937db1938daa46487cea2a896ab
Closes-Bug: #1410251
Diffstat (limited to 'openstackclient/tests/image')
| -rw-r--r-- | openstackclient/tests/image/v1/test_image.py | 29 | ||||
| -rw-r--r-- | openstackclient/tests/image/v2/test_image.py | 27 |
2 files changed, 56 insertions, 0 deletions
diff --git a/openstackclient/tests/image/v1/test_image.py b/openstackclient/tests/image/v1/test_image.py index 355f8c82..2776e744 100644 --- a/openstackclient/tests/image/v1/test_image.py +++ b/openstackclient/tests/image/v1/test_image.py @@ -470,6 +470,35 @@ class TestImageList(TestImage): ), ) self.assertEqual(datalist, tuple(data)) + @mock.patch('openstackclient.common.utils.sort_items') + def test_image_list_sort_option(self, si_mock): + si_mock.return_value = [ + copy.deepcopy(image_fakes.IMAGE) + ] + + arglist = ['--sort', 'name:asc'] + verifylist = [('sort', 'name:asc')] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + self.api_mock.image_list.assert_called_with( + detailed=False + ) + si_mock.assert_called_with( + [image_fakes.IMAGE], + 'name:asc' + ) + + collist = ('ID', 'Name') + + self.assertEqual(collist, columns) + datalist = (( + image_fakes.image_id, + image_fakes.image_name + ), ) + self.assertEqual(datalist, tuple(data)) + class TestImageSet(TestImage): diff --git a/openstackclient/tests/image/v2/test_image.py b/openstackclient/tests/image/v2/test_image.py index db3c32df..6a28b1ec 100644 --- a/openstackclient/tests/image/v2/test_image.py +++ b/openstackclient/tests/image/v2/test_image.py @@ -255,3 +255,30 @@ class TestImageList(TestImage): image_fakes.image_name, ), ) self.assertEqual(datalist, tuple(data)) + + @mock.patch('openstackclient.common.utils.sort_items') + def test_image_list_sort_option(self, si_mock): + si_mock.return_value = [ + copy.deepcopy(image_fakes.IMAGE) + ] + + arglist = ['--sort', 'name:asc'] + verifylist = [('sort', 'name:asc')] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + self.api_mock.image_list.assert_called_with() + si_mock.assert_called_with( + [image_fakes.IMAGE], + 'name:asc' + ) + + collist = ('ID', 'Name') + + self.assertEqual(collist, columns) + datalist = (( + image_fakes.image_id, + image_fakes.image_name + ), ) + self.assertEqual(datalist, tuple(data)) |
