diff options
| author | Tom Jose Kalapura <tomjosekal@gmail.com> | 2016-09-09 22:17:50 -0700 |
|---|---|---|
| committer | Mike Perez <thingee@gmail.com> | 2017-03-08 08:47:35 -0800 |
| commit | 6c1b03bf7354fe39d61bb9cf93d2491bbb5ebb16 (patch) | |
| tree | 686a7e6b6d564df3436cdb6feab17da2bd9c94cd /openstackclient/tests/unit/identity/v3/test_project.py | |
| parent | ed4454c5bba8c912c310c92f94a7c17a2b44ee10 (diff) | |
| download | python-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/v3/test_project.py')
| -rw-r--r-- | openstackclient/tests/unit/identity/v3/test_project.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/openstackclient/tests/unit/identity/v3/test_project.py b/openstackclient/tests/unit/identity/v3/test_project.py index 702d9209..2edb49ef 100644 --- a/openstackclient/tests/unit/identity/v3/test_project.py +++ b/openstackclient/tests/unit/identity/v3/test_project.py @@ -451,6 +451,7 @@ class TestProjectList(TestProject): domain = identity_fakes.FakeDomain.create_one_domain() project = identity_fakes.FakeProject.create_one_project( attrs={'domain_id': domain.id}) + projects = identity_fakes.FakeProject.create_projects() columns = ( 'ID', @@ -462,6 +463,12 @@ class TestProjectList(TestProject): project.name, ), ) + datalists = ( + (projects[0].description, True, + projects[0].id, projects[0].name,), + (projects[1].description, True, + projects[1].id, projects[1].name,), + ) def setUp(self): super(TestProjectList, self).setUp() @@ -552,6 +559,36 @@ class TestProjectList(TestProject): self.assertEqual(self.columns, columns) self.assertEqual(self.datalist, tuple(data)) + def test_project_list_sort(self): + self.projects_mock.list.return_value = self.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.projects[0].name > self.projects[1].name: + datalists = ( + (self.projects[1].id, self.projects[1].name), + (self.projects[0].id, self.projects[0].name), + ) + else: + datalists = ( + (self.projects[0].id, self.projects[0].name), + (self.projects[1].id, self.projects[1].name), + ) + + self.assertEqual(datalists, tuple(data)) + class TestProjectSet(TestProject): |
