summaryrefslogtreecommitdiff
path: root/openstackclient/tests/image
diff options
context:
space:
mode:
authorzhiyuan_cai <luckyvega.g@gmail.com>2015-01-21 17:19:46 +0800
committerzhiyuan_cai <luckyvega.g@gmail.com>2015-02-06 10:57:10 +0800
commit42cff388349186b70559650237d2667da1cb903f (patch)
tree055ea0522cbb7293dc5d941477aaaa6d9fae86fe /openstackclient/tests/image
parent0cc3955f0aedab76313aa09edd3f31bb9d08b55d (diff)
downloadpython-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.py29
-rw-r--r--openstackclient/tests/image/v2/test_image.py27
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))