From acc2d106abfb4fed0ff5d0d0c246d69f9ea1758b Mon Sep 17 00:00:00 2001 From: Ankur Gupta Date: Fri, 24 Mar 2017 12:39:22 -0500 Subject: Refactor Extension show and list command 1.keep the column display order consist in extension list with and without "--long" option. 2.rework for network extentsion list, openstacksdk return object, so the logic should be same with other service. 3.add some unit test cases, like: extension list --network --long, extension list --network --compute, to cover regular use cases. 4.raise exact exception when network extension don't exist, avoid internal TypeError in "extension show" commands. Change-Id: I2e23ced80d8da8aa1106b22472db850367b351ce Closes-Bug: #1689233 --- .../tests/unit/common/test_extension.py | 78 +++++++++++++++++----- 1 file changed, 62 insertions(+), 16 deletions(-) (limited to 'openstackclient/tests/unit') diff --git a/openstackclient/tests/unit/common/test_extension.py b/openstackclient/tests/unit/common/test_extension.py index 68fdf17d..eefa814c 100644 --- a/openstackclient/tests/unit/common/test_extension.py +++ b/openstackclient/tests/unit/common/test_extension.py @@ -67,7 +67,7 @@ class TestExtension(utils.TestCommand): class TestExtensionList(TestExtension): columns = ('Name', 'Alias', 'Description') - long_columns = ('Name', 'Namespace', 'Description', 'Alias', 'Updated', + long_columns = ('Name', 'Alias', 'Description', 'Namespace', 'Updated', 'Links') volume_extension = volume_fakes.FakeExtension.create_one_extension() @@ -145,33 +145,33 @@ class TestExtensionList(TestExtension): datalist = ( ( self.identity_extension.name, - self.identity_extension.namespace, - self.identity_extension.description, self.identity_extension.alias, + self.identity_extension.description, + self.identity_extension.namespace, self.identity_extension.updated, self.identity_extension.links, ), ( self.compute_extension.name, - self.compute_extension.namespace, - self.compute_extension.description, self.compute_extension.alias, + self.compute_extension.description, + self.compute_extension.namespace, self.compute_extension.updated, self.compute_extension.links, ), ( self.volume_extension.name, - self.volume_extension.namespace, - self.volume_extension.description, self.volume_extension.alias, + self.volume_extension.description, + self.volume_extension.namespace, self.volume_extension.updated, self.volume_extension.links, ), ( self.network_extension.name, - self.network_extension.namespace, - self.network_extension.description, self.network_extension.alias, + self.network_extension.description, + self.network_extension.namespace, self.network_extension.updated, self.network_extension.links, ), @@ -214,6 +214,27 @@ class TestExtensionList(TestExtension): self._test_extension_list_helper(arglist, verifylist, datalist) self.network_extensions_mock.assert_called_with() + def test_extension_list_network_with_long(self): + arglist = [ + '--network', + '--long', + ] + verifylist = [ + ('network', True), + ('long', True), + ] + datalist = (( + self.network_extension.name, + self.network_extension.alias, + self.network_extension.description, + self.network_extension.namespace, + self.network_extension.updated, + self.network_extension.links, + ), ) + self._test_extension_list_helper(arglist, verifylist, datalist, + long=True) + self.network_extensions_mock.assert_called_with() + def test_extension_list_compute(self): arglist = [ '--compute', @@ -229,6 +250,31 @@ class TestExtensionList(TestExtension): self._test_extension_list_helper(arglist, verifylist, datalist) self.compute_extensions_mock.show_all.assert_called_with() + def test_extension_list_compute_and_network(self): + arglist = [ + '--compute', + '--network', + ] + verifylist = [ + ('compute', True), + ('network', True), + ] + datalist = ( + ( + self.compute_extension.name, + self.compute_extension.alias, + self.compute_extension.description, + ), + ( + self.network_extension.name, + self.network_extension.alias, + self.network_extension.description, + ), + ) + self._test_extension_list_helper(arglist, verifylist, datalist) + self.compute_extensions_mock.show_all.assert_called_with() + self.network_extensions_mock.assert_called_with() + def test_extension_list_volume(self): arglist = [ '--volume', @@ -251,12 +297,12 @@ class TestExtensionShow(TestExtension): ) columns = ( - 'Alias', - 'Description', - 'Links', - 'Name', - 'Namespace', - 'Updated' + 'alias', + 'description', + 'links', + 'name', + 'namespace', + 'updated', ) data = ( @@ -296,7 +342,7 @@ class TestExtensionShow(TestExtension): columns, data = self.cmd.take_action(parsed_args) self.app.client_manager.network.find_extension.assert_called_with( - self.extension_details.alias) + self.extension_details.alias, ignore_missing=False) self.assertEqual(self.columns, columns) self.assertEqual(self.data, data) -- cgit v1.2.1