summaryrefslogtreecommitdiff
path: root/openstackclient/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2017-03-23 20:30:15 +0000
committerGerrit Code Review <review@openstack.org>2017-03-23 20:30:15 +0000
commit2a64a6404681e0cea5896a02573a8be03dd1a7d3 (patch)
tree0fc6c831e3eb4bc212f9ff2741127120b417df9a /openstackclient/tests
parent5da7ddd703a8fc2b96af8cb1eadbf259d67f50be (diff)
parent832b2591cf299bf51c1922df1cdd4ba0aabe88c0 (diff)
downloadpython-openstackclient-2a64a6404681e0cea5896a02573a8be03dd1a7d3.tar.gz
Merge "OSC Extension Show"
Diffstat (limited to 'openstackclient/tests')
-rw-r--r--openstackclient/tests/functional/common/test_extension.py42
-rw-r--r--openstackclient/tests/unit/common/test_extension.py58
2 files changed, 100 insertions, 0 deletions
diff --git a/openstackclient/tests/functional/common/test_extension.py b/openstackclient/tests/functional/common/test_extension.py
new file mode 100644
index 00000000..7c527eae
--- /dev/null
+++ b/openstackclient/tests/functional/common/test_extension.py
@@ -0,0 +1,42 @@
+# Copyright (c) 2017, Intel Corporation.
+# All Rights Reserved.
+#
+# 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 json
+
+from openstackclient.tests.functional import base
+
+
+class TestExtension(base.TestCase):
+ """Functional tests for extension."""
+
+ def test_extension_list(self):
+ """Test extension list."""
+ json_output = json.loads(self.openstack(
+ 'extension list -f json ' + '--network')
+ )
+ self.assertEqual(
+ 'Default Subnetpools',
+ json_output[0]['Name'],
+ )
+
+ def test_extension_show(self):
+ """Test extension show."""
+ name = 'agent'
+ json_output = json.loads(self.openstack(
+ 'extension show -f json ' + name)
+ )
+ self.assertEqual(
+ name,
+ json_output.get('Alias'))
diff --git a/openstackclient/tests/unit/common/test_extension.py b/openstackclient/tests/unit/common/test_extension.py
index bf856ed1..68fdf17d 100644
--- a/openstackclient/tests/unit/common/test_extension.py
+++ b/openstackclient/tests/unit/common/test_extension.py
@@ -19,6 +19,7 @@ from openstackclient.tests.unit import fakes
from openstackclient.tests.unit.identity.v2_0 import fakes as identity_fakes
from openstackclient.tests.unit.network.v2 import fakes as network_fakes
from openstackclient.tests.unit import utils
+from openstackclient.tests.unit import utils as tests_utils
from openstackclient.tests.unit.volume.v2 import fakes as volume_fakes
@@ -242,3 +243,60 @@ class TestExtensionList(TestExtension):
), )
self._test_extension_list_helper(arglist, verifylist, datalist)
self.volume_extensions_mock.show_all.assert_called_with()
+
+
+class TestExtensionShow(TestExtension):
+ extension_details = (
+ network_fakes.FakeExtension.create_one_extension()
+ )
+
+ columns = (
+ 'Alias',
+ 'Description',
+ 'Links',
+ 'Name',
+ 'Namespace',
+ 'Updated'
+ )
+
+ data = (
+ extension_details.alias,
+ extension_details.description,
+ extension_details.links,
+ extension_details.name,
+ extension_details.namespace,
+ extension_details.updated
+ )
+
+ def setUp(self):
+ super(TestExtensionShow, self).setUp()
+
+ self.cmd = extension.ShowExtension(self.app, None)
+
+ self.app.client_manager.network.find_extension = mock.Mock(
+ return_value=self.extension_details)
+
+ def test_show_no_options(self):
+ arglist = []
+ verifylist = []
+
+ self.assertRaises(tests_utils.ParserException, self.check_parser,
+ self.cmd, arglist, verifylist)
+
+ def test_show_all_options(self):
+ arglist = [
+ self.extension_details.alias,
+ ]
+ verifylist = [
+ ('extension', self.extension_details.alias),
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ columns, data = self.cmd.take_action(parsed_args)
+
+ self.app.client_manager.network.find_extension.assert_called_with(
+ self.extension_details.alias)
+
+ self.assertEqual(self.columns, columns)
+ self.assertEqual(self.data, data)