summaryrefslogtreecommitdiff
path: root/openstackclient/tests/unit/identity/v2_0
diff options
context:
space:
mode:
authorTom Jose Kalapura <tomjosekal@gmail.com>2016-09-09 22:17:50 -0700
committerMike Perez <thingee@gmail.com>2017-03-08 08:47:35 -0800
commit6c1b03bf7354fe39d61bb9cf93d2491bbb5ebb16 (patch)
tree686a7e6b6d564df3436cdb6feab17da2bd9c94cd /openstackclient/tests/unit/identity/v2_0
parented4454c5bba8c912c310c92f94a7c17a2b44ee10 (diff)
downloadpython-openstackclient-6c1b03bf7354fe39d61bb9cf93d2491bbb5ebb16.tar.gz
Add sort support to project list
Add sort support to project list by sorting items in the client side. By default list will be sorted by name. Change-Id: I00011406846b4003aff075eeeb88ac18fa5e2820 Closes-Bug: #1596818
Diffstat (limited to 'openstackclient/tests/unit/identity/v2_0')
-rw-r--r--openstackclient/tests/unit/identity/v2_0/test_project.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/openstackclient/tests/unit/identity/v2_0/test_project.py b/openstackclient/tests/unit/identity/v2_0/test_project.py
index c1f00762..69da739f 100644
--- a/openstackclient/tests/unit/identity/v2_0/test_project.py
+++ b/openstackclient/tests/unit/identity/v2_0/test_project.py
@@ -23,6 +23,7 @@ from openstackclient.tests.unit.identity.v2_0 import fakes as identity_fakes
class TestProject(identity_fakes.TestIdentityv2):
fake_project = identity_fakes.FakeProject.create_one_project()
+ fake_projects = identity_fakes.FakeProject.create_projects()
columns = (
'description',
@@ -36,6 +37,12 @@ class TestProject(identity_fakes.TestIdentityv2):
fake_project.id,
fake_project.name,
)
+ datalists = (
+ (fake_projects[0].description, True,
+ fake_projects[0].id, fake_projects[0].name,),
+ (fake_projects[1].description, True,
+ fake_projects[1].id, fake_projects[1].name,),
+ )
def setUp(self):
super(TestProject, self).setUp()
@@ -357,6 +364,35 @@ class TestProjectList(TestProject):
), )
self.assertEqual(datalist, tuple(data))
+ def test_project_list_sort(self):
+ self.projects_mock.list.return_value = self.fake_projects
+
+ arglist = ['--sort', 'name:asc', ]
+ verifylist = []
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ # In base command class Lister in cliff, abstract method take_action()
+ # returns a tuple containing the column names and an iterable
+ # containing the data to be listed.
+ (columns, data) = self.cmd.take_action(parsed_args)
+ self.projects_mock.list.assert_called_with()
+
+ collist = ('ID', 'Name')
+ self.assertEqual(collist, columns)
+
+ if self.fake_projects[0].name > self.fake_projects[1].name:
+ datalists = (
+ (self.fake_projects[1].id, self.fake_projects[1].name),
+ (self.fake_projects[0].id, self.fake_projects[0].name),
+ )
+ else:
+ datalists = (
+ (self.fake_projects[0].id, self.fake_projects[0].name),
+ (self.fake_projects[1].id, self.fake_projects[1].name),
+ )
+
+ self.assertEqual(datalists, tuple(data))
+
class TestProjectSet(TestProject):