blob: f37ebcf4e782ee85ed0c343d84ec17daa3cf3e22 [file] [log] [blame]
ivan-zhu25480bc2013-08-22 10:58:14 +08001# vim: tabstop=4 shiftwidth=4 softtabstop=4
2
3# Copyright 2012 OpenStack Foundation
4# All Rights Reserved.
5#
6# Licensed under the Apache License, Version 2.0 (the "License"); you may
7# not use this file except in compliance with the License. You may obtain
8# a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15# License for the specific language governing permissions and limitations
16# under the License.
17
18
19from tempest.api.compute import base
Christian Schwede1acc63a2013-12-27 15:21:32 +000020from tempest.openstack.common import log as logging
ivan-zhu40253442013-11-18 16:31:01 +080021from tempest import test
ivan-zhu25480bc2013-08-22 10:58:14 +080022
23
Christian Schwede1acc63a2013-12-27 15:21:32 +000024LOG = logging.getLogger(__name__)
25
26
ivan-zhu31d98482013-08-22 10:51:48 +080027class ExtensionsV3TestJSON(base.BaseV3ComputeTest):
ivan-zhu25480bc2013-08-22 10:58:14 +080028 _interface = 'json'
29
ivan-zhu40253442013-11-18 16:31:01 +080030 @test.attr(type='gate')
ivan-zhu25480bc2013-08-22 10:58:14 +080031 def test_list_extensions(self):
32 # List of all extensions
Matthew Treinish78e28bd2013-11-27 15:58:58 +000033 if len(self.config.compute_feature_enabled.api_v3_extensions) == 0:
34 raise self.skipException('There are not any extensions configured')
ivan-zhu25480bc2013-08-22 10:58:14 +080035 resp, extensions = self.extensions_client.list_extensions()
ivan-zhu25480bc2013-08-22 10:58:14 +080036 self.assertEqual(200, resp.status)
Matthew Treinish78e28bd2013-11-27 15:58:58 +000037 ext = self.config.compute_feature_enabled.api_v3_extensions[0]
38 if ext == 'all':
39 self.assertIn('Hosts', map(lambda x: x['name'], extensions))
40 elif ext:
41 self.assertIn(ext, map(lambda x: x['name'], extensions))
42 else:
43 raise self.skipException('There are not any extensions configured')
44 # Log extensions list
45 extension_list = map(lambda x: x['name'], extensions)
46 LOG.debug("Nova extensions: %s" % ','.join(extension_list))
ivan-zhu40253442013-11-18 16:31:01 +080047
48 @test.attr(type='gate')
49 def test_get_extension(self):
50 # get the specified extensions
51 resp, extension = self.extensions_client.get_extension('servers')
52 self.assertEqual(200, resp.status)
53 self.assertEqual('servers', extension['alias'])
ivan-zhu25480bc2013-08-22 10:58:14 +080054
55
ivan-zhu31d98482013-08-22 10:51:48 +080056class ExtensionsV3TestXML(ExtensionsV3TestJSON):
ivan-zhu25480bc2013-08-22 10:58:14 +080057 _interface = 'xml'