blob: 0eeb5197cc4a19cfc31f727ed7d9a5a215838b3b [file] [log] [blame]
rabid2916d02017-09-22 18:19:24 +05301# Copyright 2015
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
16import os
17
18from tempest import config
19from tempest.test_discover import plugins
20
21from heat_tempest_plugin import config as heat_config
22
23
24class HeatTempestPlugin(plugins.TempestPlugin):
ricolince14cca2018-02-07 17:15:38 +080025 """A HeatTempestPlugin class
26
27 Provides the basic hooks for an external plugin to provide tempest the
28 necessary information to run the plugin.
29 """
30
rabid2916d02017-09-22 18:19:24 +053031 def load_tests(self):
ricolince14cca2018-02-07 17:15:38 +080032 """Provide Load tests information
33
34 Method to return the information necessary to load the tests in the
35 plugin.
36
37 :return: a tuple with the first value being the test_dir and the second
38 being the top_level
39 :return type: tuple
40 """
41
rabid2916d02017-09-22 18:19:24 +053042 base_path = os.path.split(os.path.dirname(
43 os.path.abspath(__file__)))[0]
44 test_dir = "heat_tempest_plugin"
45 full_test_dir = os.path.join(base_path, test_dir)
46 return full_test_dir, base_path
47
48 def register_opts(self, conf):
ricolince14cca2018-02-07 17:15:38 +080049 """Add additional configuration options to tempest.
50
51 This method will be run for the plugin during the register_opts()
52 function in tempest.config
53
54 Parameters:
55 conf (ConfigOpts): The conf object that can be used to register
56 additional options on.
57 """
rabid2916d02017-09-22 18:19:24 +053058 config.register_opt_group(conf, heat_config.service_available_group,
59 heat_config.ServiceAvailableGroup)
60 config.register_opt_group(conf, heat_config.heat_group,
61 heat_config.HeatGroup)
rabi876449a2018-03-15 21:56:49 +053062 config.register_opt_group(conf, heat_config.heat_features_group,
63 heat_config.HeatFeaturesGroup)
rabid2916d02017-09-22 18:19:24 +053064
65 def get_opt_lists(self):
ricolince14cca2018-02-07 17:15:38 +080066 """Get a list of options for sample config generation
67
68 Return option_list: A list of tuples with the group name
69 and options in that group.
70 Return type: list
71 """
72
rabid2916d02017-09-22 18:19:24 +053073 return [(heat_config.heat_group.name,
rabi876449a2018-03-15 21:56:49 +053074 heat_config.HeatGroup),
75 (heat_config.heat_features_group.name,
76 heat_config.HeatFeaturesGroup)]