Files
puppet-ceilometer/spec/classes/ceilometer_agent_auth_spec.rb
Takashi Kajinami 9a5323ad18 Use consistent names for service_credentials options
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
2021-02-21 00:00:01 +09:00

64 lines
2.7 KiB
Ruby

require 'spec_helper'
describe 'ceilometer::agent::auth' do
let :pre_condition do
"class { 'ceilometer': telemetry_secret => 's3cr3t' }"
end
let :params do
{ :auth_url => 'http://localhost:5000',
:auth_region => '<SERVICE DEFAULT>',
:auth_user => 'ceilometer',
:auth_password => 'password',
:auth_tenant_name => 'services',
}
end
shared_examples_for 'ceilometer-agent-auth' 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/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
context 'when overriding parameters' do
before do
params.merge!(
:auth_cacert => '/tmp/dummy.pem',
:auth_endpoint_type => 'internalURL',
:auth_type => 'password',
:auth_user_domain_name => 'MyDomain',
:auth_project_domain_name => 'MyProjDomain',
)
end
it { is_expected.to contain_ceilometer_config('service_credentials/cafile').with_value(params[:auth_cacert]) }
it { is_expected.to contain_ceilometer_config('service_credentials/interface').with_value(params[:auth_endpoint_type]) }
it { is_expected.to contain_ceilometer_config('service_credentials/user_domain_name').with_value(params[:auth_user_domain_name]) }
it { is_expected.to contain_ceilometer_config('service_credentials/project_domain_name').with_value(params[:auth_project_domain_name]) }
it { is_expected.to contain_ceilometer_config('service_credentials/auth_type').with_value(params[:auth_type]) }
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-auth'
end
end
end