You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
4.0 KiB
Python
90 lines
4.0 KiB
Python
# Copyright (c) 2016 Hewlett-Packard Enterprise Development Company, L.P.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
# use this file except in compliance with the License. You may obtain a copy of
|
|
# the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations under
|
|
# the License.
|
|
|
|
import testtools
|
|
|
|
from tempest import config
|
|
from tempest.lib import exceptions
|
|
from tempest.tests import base
|
|
from tempest.tests import fake_config
|
|
|
|
|
|
class TestServiceClientConfig(base.TestCase):
|
|
|
|
expected_common_params = set(['disable_ssl_certificate_validation',
|
|
'ca_certs', 'trace_requests'])
|
|
expected_extra_params = set(['service', 'endpoint_type', 'region',
|
|
'build_timeout', 'build_interval'])
|
|
|
|
def setUp(self):
|
|
super(TestServiceClientConfig, self).setUp()
|
|
self.useFixture(fake_config.ServiceClientsConfigFixture())
|
|
self.patchobject(config, 'CONF',
|
|
fake_config.ServiceClientsFakePrivate())
|
|
self.CONF = config.CONF
|
|
|
|
def test_service_client_config_no_service(self):
|
|
params = config.service_client_config()
|
|
for param_name in self.expected_common_params:
|
|
self.assertIn(param_name, params)
|
|
for param_name in self.expected_extra_params:
|
|
self.assertNotIn(param_name, params)
|
|
self.assertEqual(
|
|
self.CONF.identity.disable_ssl_certificate_validation,
|
|
params['disable_ssl_certificate_validation'])
|
|
self.assertEqual(self.CONF.identity.ca_certificates_file,
|
|
params['ca_certs'])
|
|
self.assertEqual(self.CONF.debug.trace_requests,
|
|
params['trace_requests'])
|
|
|
|
def test_service_client_config_service_all(self):
|
|
params = config.service_client_config(
|
|
service_client_name='fake-service1')
|
|
for param_name in self.expected_common_params:
|
|
self.assertIn(param_name, params)
|
|
for param_name in self.expected_extra_params:
|
|
self.assertIn(param_name, params)
|
|
self.assertEqual(self.CONF.fake_service1.catalog_type,
|
|
params['service'])
|
|
self.assertEqual(self.CONF.fake_service1.endpoint_type,
|
|
params['endpoint_type'])
|
|
self.assertEqual(self.CONF.fake_service1.region, params['region'])
|
|
self.assertEqual(self.CONF.fake_service1.build_timeout,
|
|
params['build_timeout'])
|
|
self.assertEqual(self.CONF.fake_service1.build_interval,
|
|
params['build_interval'])
|
|
|
|
def test_service_client_config_service_minimal(self):
|
|
params = config.service_client_config(
|
|
service_client_name='fake-service2')
|
|
for param_name in self.expected_common_params:
|
|
self.assertIn(param_name, params)
|
|
for param_name in self.expected_extra_params:
|
|
self.assertIn(param_name, params)
|
|
self.assertEqual(self.CONF.fake_service2.catalog_type,
|
|
params['service'])
|
|
self.assertEqual(self.CONF.fake_service2.endpoint_type,
|
|
params['endpoint_type'])
|
|
self.assertEqual(self.CONF.identity.region, params['region'])
|
|
self.assertEqual(self.CONF.compute.build_timeout,
|
|
params['build_timeout'])
|
|
self.assertEqual(self.CONF.compute.build_interval,
|
|
params['build_interval'])
|
|
|
|
def test_service_client_config_service_unknown(self):
|
|
unknown_service = 'unknown_service'
|
|
with testtools.ExpectedException(exceptions.UnknownServiceClient,
|
|
'.*' + unknown_service + '.*'):
|
|
config.service_client_config(service_client_name=unknown_service)
|