blob: ac3742c207ef1d2845e8420b1bc9886c9b992174 [file] [log] [blame]
Matthew Treinish2324e6b2013-10-21 20:25:17 +00001# Copyright 2013 IBM Corp.
2# All Rights Reserved.
3#
4# Licensed under the Apache License, Version 2.0 (the "License"); you may
5# not use this file except in compliance with the License. You may obtain
6# a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13# License for the specific language governing permissions and limitations
14# under the License.
15
Doug Hellmann583ce2c2015-03-11 14:55:46 +000016from oslo_log import log as logging
Matthew Treinish2324e6b2013-10-21 20:25:17 +000017
18from tempest.api.volume import base
Matthew Treinish4d352bc2014-01-29 18:29:18 +000019from tempest import config
Ken'ichi Ohmichi6b279c72017-01-27 18:26:59 -080020from tempest.lib import decorators
Matthew Treinish2324e6b2013-10-21 20:25:17 +000021
Matthew Treinish4d352bc2014-01-29 18:29:18 +000022CONF = config.CONF
23
Matthew Treinish2324e6b2013-10-21 20:25:17 +000024
Christian Schwede1acc63a2013-12-27 15:21:32 +000025LOG = logging.getLogger(__name__)
26
27
Zhi Kun Liu53395522014-07-18 16:05:52 +080028class ExtensionsV2TestJSON(base.BaseVolumeTest):
Matthew Treinish2324e6b2013-10-21 20:25:17 +000029
Ken'ichi Ohmichi6b279c72017-01-27 18:26:59 -080030 @decorators.idempotent_id('94607eb0-43a5-47ca-82aa-736b41bd2e2c')
Matthew Treinish2324e6b2013-10-21 20:25:17 +000031 def test_list_extensions(self):
32 # List of all extensions
John Warren7d2ca812015-08-13 17:31:42 +000033 extensions = (self.volumes_extension_client.list_extensions()
34 ['extensions'])
Matthew Treinish4d352bc2014-01-29 18:29:18 +000035 if len(CONF.volume_feature_enabled.api_extensions) == 0:
Matthew Treinish2324e6b2013-10-21 20:25:17 +000036 raise self.skipException('There are not any extensions configured')
Christian Schwede1acc63a2013-12-27 15:21:32 +000037 extension_list = [extension.get('alias') for extension in extensions]
Jordan Pittier525ec712016-12-07 17:51:26 +010038 LOG.debug("Cinder extensions: %s", ','.join(extension_list))
Matthew Treinish4d352bc2014-01-29 18:29:18 +000039 ext = CONF.volume_feature_enabled.api_extensions[0]
Matthew Treinish2324e6b2013-10-21 20:25:17 +000040 if ext == 'all':
41 self.assertIn('Hosts', map(lambda x: x['name'], extensions))
42 elif ext:
Matthew Treinish54176ce2014-12-08 21:28:05 +000043 self.assertIn(ext, map(lambda x: x['alias'], extensions))
Matthew Treinish2324e6b2013-10-21 20:25:17 +000044 else:
45 raise self.skipException('There are not any extensions configured')