]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/rabbitmq/spec/acceptance/server_spec.rb
move to puppetlabs rabbitmq module
[dsa-puppet.git] / 3rdparty / modules / rabbitmq / spec / acceptance / server_spec.rb
1 require 'spec_helper_acceptance'
2
3 describe 'rabbitmq server:' do
4   case fact('osfamily')
5   when 'RedHat'
6     package_name = 'rabbitmq-server'
7     service_name = 'rabbitmq-server'
8   when 'SUSE'
9     package_name = 'rabbitmq-server'
10     service_name = 'rabbitmq-server'
11   when 'Debian'
12     package_name = 'rabbitmq-server'
13     service_name = 'rabbitmq-server'
14   when 'Archlinux'
15     package_name = 'rabbitmq'
16     service_name = 'rabbitmq'
17   end
18
19   context "default class inclusion" do
20     it 'should run successfully' do
21       pp = <<-EOS
22       class { 'rabbitmq::server': }
23       if $::osfamily == 'RedHat' {
24         class { 'erlang': epel_enable => true}
25         Class['erlang'] -> Class['rabbitmq::server']
26       }
27       EOS
28
29       # Apply twice to ensure no errors the second time.
30       apply_manifest(pp, :catch_failures => true)
31       expect(apply_manifest(pp, :catch_changes => true).exit_code).to be_zero
32     end
33
34     describe package(package_name) do
35       it { should be_installed }      
36     end
37
38     describe service(service_name) do
39       it { should be_enabled }
40       it { should be_running }
41     end
42   end
43
44   context "disable and stop service" do
45     it 'should run successfully' do
46       pp = <<-EOS
47       class { 'rabbitmq::server':
48         service_ensure => 'stopped',
49       }
50       if $::osfamily == 'RedHat' {
51         class { 'erlang': epel_enable => true}
52         Class['erlang'] -> Class['rabbitmq::server']
53       }
54       EOS
55
56       apply_manifest(pp, :catch_failures => true)
57     end
58
59     describe service(service_name) do
60       it { should_not be_enabled }
61       it { should_not be_running }
62     end
63   end
64
65   context "service is unmanaged" do
66     it 'should run successfully' do
67       pp_pre = <<-EOS
68       class { 'rabbitmq::server': }
69       if $::osfamily == 'RedHat' {
70         class { 'erlang': epel_enable => true}
71         Class['erlang'] -> Class['rabbitmq::server']
72       }
73       EOS
74
75       pp = <<-EOS
76       class { 'rabbitmq::server':
77         service_manage => false,
78         service_ensure  => 'stopped',
79       }
80       if $::osfamily == 'RedHat' {
81         class { 'erlang': epel_enable => true}
82         Class['erlang'] -> Class['rabbitmq::server']
83       }
84       EOS
85
86       
87       apply_manifest(pp_pre, :catch_failures => true)
88       apply_manifest(pp, :catch_failures => true)
89     end
90
91     describe service(service_name) do
92       it { should be_enabled }
93       it { should be_running }
94     end
95   end
96 end