blob: 90988a28658e56df0992b35f39dace1c5e55741c [file] [log] [blame]
Matthew Treinish2324e6b2013-10-21 20:25:17 +00001# vim: tabstop=4 shiftwidth=4 softtabstop=4
2
3# Copyright 2013 IBM Corp.
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.volume import base
20from tempest.test import attr
21
22
23class ExtensionsTestJSON(base.BaseVolumeTest):
24 _interface = 'json'
25
26 @attr(type='gate')
27 def test_list_extensions(self):
28 # List of all extensions
29 resp, extensions = self.volumes_extension_client.list_extensions()
30 self.assertEqual(200, resp.status)
31 if len(self.config.volume_feature_enabled.api_extensions) == 0:
32 raise self.skipException('There are not any extensions configured')
33 ext = self.config.volume_feature_enabled.api_extensions[0]
34 if ext == 'all':
35 self.assertIn('Hosts', map(lambda x: x['name'], extensions))
36 elif ext:
37 self.assertIn(ext, map(lambda x: x['name'], extensions))
38 else:
39 raise self.skipException('There are not any extensions configured')
40
41
42class ExtensionsTestXML(ExtensionsTestJSON):
43 _interface = 'xml'