X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fprosody%2Fspec%2Fclasses%2Fprosody_spec.rb;fp=3rdparty%2Fmodules%2Fprosody%2Fspec%2Fclasses%2Fprosody_spec.rb;h=6cb425e063b764fb099c61e716d753c1c492c335;hb=bca90484ee186c3159f57f14a609e1e8d63575be;hp=0000000000000000000000000000000000000000;hpb=9e27d3f0aaa21b93d9d256414dcd6335b07c0f53;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/prosody/spec/classes/prosody_spec.rb b/3rdparty/modules/prosody/spec/classes/prosody_spec.rb new file mode 100644 index 000000000..6cb425e06 --- /dev/null +++ b/3rdparty/modules/prosody/spec/classes/prosody_spec.rb @@ -0,0 +1,48 @@ +require 'spec_helper' + +describe 'prosody' do + let(:facts) do + { osfamily: 'SomeOS' } + end + context 'on every platform' do + it { should contain_class 'prosody::package' } + it { should contain_class 'prosody::config' } + it { should contain_class 'prosody::service' } + + it { should contain_package('prosody').with(ensure: 'present') } + end + + context 'with daemonize => true' do + let(:params) { { daemonize: true } } + it { + should contain_service('prosody').with( + ensure: 'running' + ) + } + end + + context 'with daemonize => false' do + let(:params) { { daemonize: false } } + it { + should_not contain_service('prosody').with( + ensure: 'running' + ) + } + end + + context 'with custom options' do + let(:params) { { custom_options: { 'foo' => 'bar', 'baz' => 'quux' } } } + it { + should contain_file('/etc/prosody/prosody.cfg.lua') \ + .with_content(/^foo = "bar"$/, /^baz = "quux"$/) + } + end + + context 'with deeply nested custom options' do + let(:params) { { custom_options: { 'foo' => { 'fnord' => '23', 'xyzzy' => '42' }, 'bar' => %w[cool elements], 'baz' => 'quux' } } } + it { + should contain_file('/etc/prosody/prosody.cfg.lua') \ + .with_content(/^foo = {\n fnord = "23";\n xyzzy = "42";\n}$/, /^baz = "quux"$/, /^bar = [ "cool"; "elements" ]$/) + } + end +end