diff options
| author | Jenkins <jenkins@review.openstack.org> | 2014-09-18 09:41:51 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2014-09-18 09:41:51 +0000 |
| commit | df69d3264ff3edd0ec0e1c742d26b46d8dc2285b (patch) | |
| tree | 142a4faecbe1d591bd822b6681674da62909690f /openstackclient/tests | |
| parent | 2306059c8e548630ad3f5baf83bed7af7707c29e (diff) | |
| parent | 25e0d2ab2794dc68cccec0d1e7b463b7d7f7e65f (diff) | |
| download | python-openstackclient-df69d3264ff3edd0ec0e1c742d26b46d8dc2285b.tar.gz | |
Merge "Add network extension list"
Diffstat (limited to 'openstackclient/tests')
| -rw-r--r-- | openstackclient/tests/common/test_extension.py | 52 | ||||
| -rw-r--r-- | openstackclient/tests/network/v2/fakes.py | 35 |
2 files changed, 85 insertions, 2 deletions
diff --git a/openstackclient/tests/common/test_extension.py b/openstackclient/tests/common/test_extension.py index 2e6e7050..5561345b 100644 --- a/openstackclient/tests/common/test_extension.py +++ b/openstackclient/tests/common/test_extension.py @@ -18,6 +18,7 @@ from openstackclient.tests import fakes from openstackclient.tests import utils from openstackclient.tests.identity.v2_0 import fakes as identity_fakes +from openstackclient.tests.network.v2 import fakes as network_fakes class TestExtension(utils.TestCommand): @@ -29,12 +30,15 @@ class TestExtension(utils.TestCommand): endpoint=fakes.AUTH_URL, token=fakes.AUTH_TOKEN, ) - - # Get shortcuts to the ExtensionManager Mocks self.identity_extensions_mock = ( self.app.client_manager.identity.extensions) self.identity_extensions_mock.reset_mock() + network = network_fakes.FakeNetworkV2Client() + self.app.client_manager.network = network + self.network_extensions_mock = network.list_extensions + self.network_extensions_mock.reset_mock() + class TestExtensionList(TestExtension): @@ -48,6 +52,13 @@ class TestExtensionList(TestExtension): loaded=True, ), ] + self.network_extensions_mock.list.return_value = [ + fakes.FakeResource( + None, + copy.deepcopy(identity_fakes.EXTENSION), + loaded=True, + ), + ] # Get the command object to test self.cmd = extension.ListExtension(self.app, None) @@ -71,6 +82,11 @@ class TestExtensionList(TestExtension): identity_fakes.extension_alias, identity_fakes.extension_description, ), + ( + network_fakes.extension_name, + network_fakes.extension_alias, + network_fakes.extension_description, + ), ) self.assertEqual(tuple(data), datalist) @@ -101,6 +117,14 @@ class TestExtensionList(TestExtension): identity_fakes.extension_updated, identity_fakes.extension_links, ), + ( + network_fakes.extension_name, + network_fakes.extension_namespace, + network_fakes.extension_description, + network_fakes.extension_alias, + network_fakes.extension_updated, + network_fakes.extension_links, + ), ) self.assertEqual(tuple(data), datalist) @@ -126,3 +150,27 @@ class TestExtensionList(TestExtension): identity_fakes.extension_description, ), ) self.assertEqual(tuple(data), datalist) + + def test_extension_list_network(self): + arglist = [ + '--network', + ] + verifylist = [ + ('network', True), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + columns, data = self.cmd.take_action(parsed_args) + + self.network_extensions_mock.assert_called_with() + + collist = ('Name', 'Alias', 'Description') + self.assertEqual(columns, collist) + datalist = ( + ( + network_fakes.extension_name, + network_fakes.extension_alias, + network_fakes.extension_description, + ), + ) + self.assertEqual(tuple(data), datalist) diff --git a/openstackclient/tests/network/v2/fakes.py b/openstackclient/tests/network/v2/fakes.py new file mode 100644 index 00000000..ea191c8e --- /dev/null +++ b/openstackclient/tests/network/v2/fakes.py @@ -0,0 +1,35 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +import mock + +extension_name = 'Matrix' +extension_namespace = 'http://docs.openstack.org/network/' +extension_description = 'Simulated reality' +extension_updated = '2013-07-09T12:00:0-00:00' +extension_alias = 'Dystopian' +extension_links = '[{"href":''"https://github.com/os/network", "type"}]' + +NETEXT = { + 'name': extension_name, + 'namespace': extension_namespace, + 'description': extension_description, + 'updated': extension_updated, + 'alias': extension_alias, + 'links': extension_links, +} + + +class FakeNetworkV2Client(object): + def __init__(self, **kwargs): + self.list_extensions = mock.Mock(return_value={'extensions': [NETEXT]}) |
