diff --git a/spec/classes/keystone_config_spec.rb b/spec/classes/keystone_config_spec.rb new file mode 100644 index 000000000..c32553ba6 --- /dev/null +++ b/spec/classes/keystone_config_spec.rb @@ -0,0 +1,48 @@ +require 'spec_helper' + +describe 'keystone::config' do + + let(:config_hash) do { + 'DEFAULT/foo' => { 'value' => 'fooValue' }, + 'DEFAULT/bar' => { 'value' => 'barValue' }, + 'DEFAULT/baz' => { 'ensure' => 'absent' } + } + end + + shared_examples_for 'keystone_config' do + let :params do + { :keystone_config => config_hash } + end + + it 'configures arbitrary keystone-config configurations' do + is_expected.to contain_keystone_config('DEFAULT/foo').with_value('fooValue') + is_expected.to contain_keystone_config('DEFAULT/bar').with_value('barValue') + is_expected.to contain_keystone_config('DEFAULT/baz').with_ensure('absent') + end + end + + shared_examples_for 'keystone_paste_ini' do + let :params do + { :keystone_paste_ini => config_hash } + end + + it 'configures arbitrary keystone-paste-ini configurations' do + is_expected.to contain_keystone_paste_ini('DEFAULT/foo').with_value('fooValue') + is_expected.to contain_keystone_paste_ini('DEFAULT/bar').with_value('barValue') + is_expected.to contain_keystone_paste_ini('DEFAULT/baz').with_ensure('absent') + 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_configures 'keystone_config' + it_configures 'keystone_paste_ini' + end + end +end