e5c3e2756d
The option has been managed by the underlying puppet-oslo module but has not been configurable. This introduces the parameter to customize the option. Change-Id: Ib7d19a8d3b634b3f2c88222881b175f74771de00
88 lines
2.6 KiB
Ruby
88 lines
2.6 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'heat::policy' do
|
|
shared_examples 'heat::policy' do
|
|
|
|
context 'setup policy with parameters' do
|
|
let :params do
|
|
{
|
|
:enforce_scope => false,
|
|
:enforce_new_defaults => false,
|
|
:policy_path => '/etc/heat/policy.yaml',
|
|
:policy_default_rule => 'default',
|
|
:policy_dirs => '/etc/heat/policy.d',
|
|
:policies => {
|
|
'context_is_admin' => {
|
|
'key' => 'context_is_admin',
|
|
'value' => 'foo:bar'
|
|
}
|
|
}
|
|
}
|
|
end
|
|
|
|
it 'set up the policies' do
|
|
is_expected.to contain_openstacklib__policy('/etc/heat/policy.yaml').with(
|
|
:policies => {
|
|
'context_is_admin' => {
|
|
'key' => 'context_is_admin',
|
|
'value' => 'foo:bar'
|
|
}
|
|
},
|
|
:policy_path => '/etc/heat/policy.yaml',
|
|
:file_user => 'root',
|
|
:file_group => 'heat',
|
|
:file_format => 'yaml',
|
|
:purge_config => false,
|
|
)
|
|
is_expected.to contain_oslo__policy('heat_config').with(
|
|
:enforce_scope => false,
|
|
:enforce_new_defaults => false,
|
|
:policy_file => '/etc/heat/policy.yaml',
|
|
:policy_default_rule => 'default',
|
|
:policy_dirs => '/etc/heat/policy.d',
|
|
)
|
|
end
|
|
end
|
|
|
|
context 'with empty policies and purge_config enabled' do
|
|
let :params do
|
|
{
|
|
:enforce_scope => false,
|
|
:enforce_new_defaults => false,
|
|
:policy_path => '/etc/heat/policy.yaml',
|
|
:policies => {},
|
|
:purge_config => true,
|
|
}
|
|
end
|
|
|
|
it 'set up the policies' do
|
|
is_expected.to contain_openstacklib__policy('/etc/heat/policy.yaml').with(
|
|
:policies => {},
|
|
:policy_path => '/etc/heat/policy.yaml',
|
|
:file_user => 'root',
|
|
:file_group => 'heat',
|
|
:file_format => 'yaml',
|
|
:purge_config => true,
|
|
)
|
|
is_expected.to contain_oslo__policy('heat_config').with(
|
|
:enforce_scope => false,
|
|
:enforce_new_defaults => false,
|
|
:policy_file => '/etc/heat/policy.yaml',
|
|
)
|
|
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 'heat::policy'
|
|
end
|
|
end
|
|
end
|