blob: 4649e858443516fc17a0bbff60f4bb7eb7cc0681 [file] [log] [blame]
Marc Koderer3529ea72016-12-02 13:21:03 +01001# Copyright 2016 SAP SE
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
16
17import os
18
19from tempest.test_discover import plugins
20
21from barbican_tempest_plugin import config as project_config
22
23
24class BarbicanTempestPlugin(plugins.TempestPlugin):
25 def load_tests(self):
26 base_path = os.path.split(os.path.dirname(
27 os.path.abspath(__file__)))[0]
28 test_dir = "barbican_tempest_plugin/tests"
29 full_test_dir = os.path.join(base_path, test_dir)
30 return full_test_dir, base_path
31
32 def register_opts(self, conf):
33 conf.register_opt(project_config.service_option,
34 group='service_available')
35
Ade Lee519aa802022-05-06 12:33:06 -040036 conf.register_group(project_config.key_manager_group)
37 conf.register_opts(project_config.KeyManagerOpts,
38 project_config.key_manager_group)
39
Douglas Mendizábale6544642021-04-01 16:50:38 -050040 conf.register_group(project_config.barbican_tempest_group)
41 conf.register_opts(project_config.BarbicanGroupOpts,
42 project_config.barbican_tempest_group)
43
Jackie Truongab903f32017-04-10 18:03:27 -040044 # Register ephemeral storage encryption options
45 conf.register_group(project_config.ephemeral_storage_encryption_group)
46 conf.register_opts(project_config.EphemeralStorageEncryptionGroup,
47 project_config.ephemeral_storage_encryption_group)
Colleen Murphy62ec85c2019-04-03 09:27:05 -070048 conf.register_opts(project_config.ImageSignatureVerificationGroup,
49 project_config.image_signature_verification_group)
Ade Leec80b00a2021-02-09 14:49:41 -050050 conf.register_group(
51 project_config.barbican_rbac_scope_verification_group)
52 conf.register_opts(
53 project_config.BarbicanRBACScopeVerificationGroup,
54 project_config.barbican_rbac_scope_verification_group
55 )
Jackie Truongab903f32017-04-10 18:03:27 -040056
Marc Koderer3529ea72016-12-02 13:21:03 +010057 def get_opt_lists(self):
58 return [('service_available', [project_config.service_option])]
Marc Kodererc832c612016-12-12 11:49:10 +010059
60 def get_service_clients(self):
61 v1_params = {
62 'name': 'secret_v1',
63 'service_version': 'secret.v1',
64 'module_path': 'barbican_tempest_plugin.services.key_manager.json',
Peter Hamiltonee389172017-01-12 16:41:45 -050065 'client_names': [
66 'ConsumerClient',
67 'ContainerClient',
Peter Hamiltonf4166be2017-01-20 10:54:33 -050068 'OrderClient',
Peter Hamilton2adeed62017-02-01 12:23:45 -050069 'QuotaClient',
Peter Hamiltonf4166be2017-01-20 10:54:33 -050070 'SecretClient',
Douglas Mendizábale6544642021-04-01 16:50:38 -050071 'SecretMetadataClient',
Douglas Mendizábal63b174e2021-04-05 14:53:18 -050072 'SecretStoresClient',
73 'TransportKeyClient'
Peter Hamiltonee389172017-01-12 16:41:45 -050074 ],
Marc Kodererc832c612016-12-12 11:49:10 +010075 }
Ade Lee519aa802022-05-06 12:33:06 -040076 v1_1_params = {
77 'name': 'secret_v1_1',
78 'service_version': 'secret.v1_1',
79 'module_path': 'barbican_tempest_plugin.services.key_manager.v1_1',
80 'client_names': [
81 'SecretConsumerClient',
82 'VersionClient'
83 ],
84 }
85 return [v1_params, v1_1_params]