Add acceptance tests for config management resources

Change-Id: I02d2e631cbf2bf740b3d625836e4aec2fba7f778
This commit is contained in:
Takashi Kajinami 2022-07-09 22:25:51 +09:00
parent f1d7e27866
commit 71807e1097
5 changed files with 62 additions and 0 deletions

View File

@ -0,0 +1,62 @@
require 'spec_helper_acceptance'
describe 'basic keystone_config resource' do
context 'default parameters' do
it 'should work with no errors' do
pp= <<-EOS
Exec { logoutput => 'on_failure' }
File <||> -> Keystone_config <||>
file { '/etc/keystone' :
ensure => directory,
}
file { '/etc/keystone/keystone.conf' :
ensure => file,
}
keystone_config { 'DEFAULT/thisshouldexist' :
value => 'foo',
}
keystone_config { 'DEFAULT/thisshouldnotexist' :
value => '<SERVICE DEFAULT>',
}
keystone_config { 'DEFAULT/thisshouldexist2' :
value => '<SERVICE DEFAULT>',
ensure_absent_val => 'toto',
}
keystone_config { 'DEFAULT/thisshouldnotexist2' :
value => 'toto',
ensure_absent_val => 'toto',
}
keystone_config { 'DEFAULT/thisshouldexist3' :
value => ['foo', 'bar'],
}
EOS
# Run it twice and test for idempotency
apply_manifest(pp, :catch_failures => true)
apply_manifest(pp, :catch_changes => true)
end
describe file('/etc/keystone/keystone.conf') do
it { is_expected.to exist }
it { is_expected.to contain('thisshouldexist=foo') }
it { is_expected.to contain('thisshouldexist2=<SERVICE DEFAULT>') }
it { is_expected.to contain('thisshouldexist3=foo') }
it { is_expected.to contain('thisshouldexist3=bar') }
describe '#content' do
subject { super().content }
it { is_expected.to_not match /thisshouldnotexist/ }
end
end
end
end