require 'spec_helper_acceptance' describe 'basic sahara_config resource' do context 'default parameters' do it 'should work with no errors' do pp= <<-EOS Exec { logoutput => 'on_failure' } File <||> -> Sahara_config <||> File <||> -> Sahara_api_paste_ini <||> file { '/etc/sahara' : ensure => directory, } file { '/etc/sahara/sahara.conf' : ensure => file, } file { '/etc/sahara/api-paste.ini' : ensure => file, } sahara_config { 'DEFAULT/thisshouldexist' : value => 'foo', } sahara_config { 'DEFAULT/thisshouldnotexist' : value => '', } sahara_config { 'DEFAULT/thisshouldexist2' : value => '', ensure_absent_val => 'toto', } sahara_config { 'DEFAULT/thisshouldnotexist2' : value => 'toto', ensure_absent_val => 'toto', } sahara_config { 'DEFAULT/thisshouldexist3' : value => ['foo', 'bar'], } sahara_api_paste_ini { 'DEFAULT/thisshouldexist' : value => 'foo', } sahara_api_paste_ini { 'DEFAULT/thisshouldnotexist' : value => '', } sahara_api_paste_ini { 'DEFAULT/thisshouldexist2' : value => '', ensure_absent_val => 'toto', } sahara_api_paste_ini { 'DEFAULT/thisshouldnotexist2' : value => 'toto', ensure_absent_val => 'toto', } sahara_api_paste_ini { 'DEFAULT/thisshouldexist3' : value => 'foo', key_val_separator => ':' } EOS # Run it twice and test for idempotency apply_manifest(pp, :catch_failures => true) apply_manifest(pp, :catch_changes => true) end describe file('/etc/sahara/sahara.conf') do it { is_expected.to exist } it { is_expected.to contain('thisshouldexist=foo') } it { is_expected.to contain('thisshouldexist2=') } 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 describe file('/etc/sahara/api-paste.ini') do it { is_expected.to exist } it { is_expected.to contain('thisshouldexist=foo') } it { is_expected.to contain('thisshouldexist2=') } it { is_expected.to contain('thisshouldexist3:foo') } describe '#content' do subject { super().content } it { is_expected.to_not match /thisshouldnotexist/ } end end end end