blob: 2808a9cf95511e4d7b83371b435616ecbe6a3f0a [file] [log] [blame]
Andrea Frittoli (andreaf)de5fb0c2016-06-13 12:15:00 +01001# Copyright (c) 2016 Hewlett-Packard Enterprise Development Company, L.P.
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15import testtools
16
17from tempest import config
18from tempest.lib import exceptions
19from tempest.tests import base
20from tempest.tests import fake_config
21
22
23class TestServiceClientConfig(base.TestCase):
24
25 expected_common_params = set(['disable_ssl_certificate_validation',
26 'ca_certs', 'trace_requests'])
27 expected_extra_params = set(['service', 'endpoint_type', 'region',
28 'build_timeout', 'build_interval'])
29
30 def setUp(self):
31 super(TestServiceClientConfig, self).setUp()
32 self.useFixture(fake_config.ServiceClientsConfigFixture())
33 self.patchobject(config, 'CONF',
34 fake_config.ServiceClientsFakePrivate())
35 self.CONF = config.CONF
36
37 def test_service_client_config_no_service(self):
38 params = config.service_client_config()
39 for param_name in self.expected_common_params:
40 self.assertIn(param_name, params)
41 for param_name in self.expected_extra_params:
42 self.assertNotIn(param_name, params)
43 self.assertEqual(
Daniel Melladocad3f3d2016-08-19 14:17:16 +000044 self.CONF.identity.disable_ssl_certificate_validation,
Andrea Frittoli (andreaf)de5fb0c2016-06-13 12:15:00 +010045 params['disable_ssl_certificate_validation'])
Daniel Melladocad3f3d2016-08-19 14:17:16 +000046 self.assertEqual(self.CONF.identity.ca_certificates_file,
Andrea Frittoli (andreaf)de5fb0c2016-06-13 12:15:00 +010047 params['ca_certs'])
48 self.assertEqual(self.CONF.debug.trace_requests,
49 params['trace_requests'])
50
51 def test_service_client_config_service_all(self):
52 params = config.service_client_config(
53 service_client_name='fake-service1')
54 for param_name in self.expected_common_params:
55 self.assertIn(param_name, params)
56 for param_name in self.expected_extra_params:
57 self.assertIn(param_name, params)
58 self.assertEqual(self.CONF.fake_service1.catalog_type,
59 params['service'])
60 self.assertEqual(self.CONF.fake_service1.endpoint_type,
61 params['endpoint_type'])
62 self.assertEqual(self.CONF.fake_service1.region, params['region'])
63 self.assertEqual(self.CONF.fake_service1.build_timeout,
64 params['build_timeout'])
65 self.assertEqual(self.CONF.fake_service1.build_interval,
66 params['build_interval'])
67
68 def test_service_client_config_service_minimal(self):
69 params = config.service_client_config(
70 service_client_name='fake-service2')
71 for param_name in self.expected_common_params:
72 self.assertIn(param_name, params)
73 for param_name in self.expected_extra_params:
74 self.assertIn(param_name, params)
75 self.assertEqual(self.CONF.fake_service2.catalog_type,
76 params['service'])
77 self.assertEqual(self.CONF.fake_service2.endpoint_type,
78 params['endpoint_type'])
79 self.assertEqual(self.CONF.identity.region, params['region'])
80 self.assertEqual(self.CONF.compute.build_timeout,
81 params['build_timeout'])
82 self.assertEqual(self.CONF.compute.build_interval,
83 params['build_interval'])
84
85 def test_service_client_config_service_unknown(self):
86 unknown_service = 'unknown_service'
87 with testtools.ExpectedException(exceptions.UnknownServiceClient,
88 '.*' + unknown_service + '.*'):
89 config.service_client_config(service_client_name=unknown_service)