This change renames ceilometer::agent::auth and its parameters to be consistent with the section name and the parameter names in ceilometer service. This allows operators more easily guess how the class and its parameters correspond to the options in ceilometer. Change-Id: I7ec7e5e36cad537117e8abb8fe0e67b8b8be48e9
74 lines
3.5 KiB
Ruby
74 lines
3.5 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'ceilometer::agent::service_credentials' do
|
|
|
|
let :pre_condition do
|
|
"class { 'ceilometer': telemetry_secret => 's3cr3t' }"
|
|
end
|
|
|
|
let :params do
|
|
{ :password => 'password' }
|
|
end
|
|
|
|
shared_examples_for 'ceilometer::agent::service_credentials' do
|
|
|
|
context 'wtih default values' do
|
|
it 'configures authentication' do
|
|
is_expected.to contain_ceilometer_config('service_credentials/auth_url').with_value('http://localhost:5000')
|
|
is_expected.to contain_ceilometer_config('service_credentials/region_name').with_value('<SERVICE DEFAULT>')
|
|
is_expected.to contain_ceilometer_config('service_credentials/username').with_value('ceilometer')
|
|
is_expected.to contain_ceilometer_config('service_credentials/password').with_value('password').with_secret(true)
|
|
is_expected.to contain_ceilometer_config('service_credentials/project_name').with_value('services')
|
|
is_expected.to contain_ceilometer_config('service_credentials/cafile').with_value('<SERVICE DEFAULT>')
|
|
is_expected.to contain_ceilometer_config('service_credentials/interface').with_value('<SERVICE DEFAULT>')
|
|
is_expected.to contain_ceilometer_config('service_credentials/user_domain_name').with_value('Default')
|
|
is_expected.to contain_ceilometer_config('service_credentials/project_domain_name').with_value('Default')
|
|
is_expected.to contain_ceilometer_config('service_credentials/auth_type').with_value('password')
|
|
end
|
|
end
|
|
|
|
context 'when overriding parameters' do
|
|
before do
|
|
params.merge!(
|
|
:auth_url => 'http://192.168.0.1:5000',
|
|
:region_name => 'regionOne',
|
|
:username => 'ceilometer2',
|
|
:project_name => 'services2',
|
|
:cafile => '/tmp/dummy.pem',
|
|
:interface => 'internalURL',
|
|
:auth_type => 'v3password',
|
|
:user_domain_name => 'MyDomain',
|
|
:project_domain_name => 'MyProjDomain',
|
|
)
|
|
end
|
|
|
|
it 'configures the specified values' do
|
|
is_expected.to contain_ceilometer_config('service_credentials/auth_url').with_value('http://192.168.0.1:5000')
|
|
is_expected.to contain_ceilometer_config('service_credentials/region_name').with_value('regionOne')
|
|
is_expected.to contain_ceilometer_config('service_credentials/username').with_value('ceilometer2')
|
|
is_expected.to contain_ceilometer_config('service_credentials/password').with_value('password').with_secret(true)
|
|
is_expected.to contain_ceilometer_config('service_credentials/project_name').with_value('services2')
|
|
is_expected.to contain_ceilometer_config('service_credentials/cafile').with_value('/tmp/dummy.pem')
|
|
is_expected.to contain_ceilometer_config('service_credentials/interface').with_value('internalURL')
|
|
is_expected.to contain_ceilometer_config('service_credentials/user_domain_name').with_value('MyDomain')
|
|
is_expected.to contain_ceilometer_config('service_credentials/project_domain_name').with_value('MyProjDomain')
|
|
is_expected.to contain_ceilometer_config('service_credentials/auth_type').with_value('v3password')
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
on_supported_os({
|
|
:supported_os => OSDefaults.get_supported_os
|
|
}).each do |os,facts|
|
|
context "on #{os}" do
|
|
let (:facts) do
|
|
facts.merge!(OSDefaults.get_facts())
|
|
end
|
|
|
|
it_behaves_like 'ceilometer::agent::service_credentials'
|
|
end
|
|
end
|
|
|
|
end
|