1 require 'spec_helper_acceptance'
3 describe 'rabbitmq class:' do
6 package_name = 'rabbitmq-server'
7 service_name = 'rabbitmq-server'
9 package_name = 'rabbitmq-server'
10 service_name = 'rabbitmq-server'
12 package_name = 'rabbitmq-server'
13 service_name = 'rabbitmq-server'
15 package_name = 'rabbitmq'
16 service_name = 'rabbitmq'
19 context 'default class inclusion' do
23 if $facts['os']['family'] == 'RedHat' {
24 class { 'erlang': epel_enable => true}
25 Class['erlang'] -> Class['rabbitmq']
30 it_behaves_like 'an idempotent resource'
32 describe package(package_name) do
33 it { is_expected.to be_installed }
36 describe service(service_name) do
37 it { is_expected.to be_enabled }
38 it { is_expected.to be_running }
42 context 'disable and stop service' do
46 service_ensure => 'stopped',
48 if $facts['os']['family'] == 'RedHat' {
49 class { 'erlang': epel_enable => true}
50 Class['erlang'] -> Class['rabbitmq']
55 it_behaves_like 'an idempotent resource'
57 describe service(service_name) do
58 it { is_expected.not_to be_enabled }
59 it { is_expected.not_to be_running }
63 context 'service is unmanaged' do
64 it 'runs successfully' do
67 if $facts['os']['family'] == 'RedHat' {
68 class { 'erlang': epel_enable => true}
69 Class['erlang'] -> Class['rabbitmq']
75 service_manage => false,
76 service_ensure => 'stopped',
78 if $facts['os']['family'] == 'RedHat' {
79 class { 'erlang': epel_enable => true}
80 Class['erlang'] -> Class['rabbitmq']
84 apply_manifest(pp_pre, catch_failures: true)
85 apply_manifest(pp, catch_failures: true)
88 describe service(service_name) do
89 it { is_expected.to be_enabled }
90 it { is_expected.to be_running }
94 context 'binding on all interfaces' do
98 service_manage => true,
100 admin_enable => true,
101 node_ip_address => '0.0.0.0'
106 it_behaves_like 'an idempotent resource'
108 describe service(service_name) do
109 it { is_expected.to be_running }
111 describe port(5672) do
112 it { is_expected.to be_listening.on('0.0.0.0').with('tcp') }
114 describe port(15_672) do
115 it { is_expected.to be_listening.on('0.0.0.0').with('tcp') }
117 describe port(25_672) do
118 xit 'Is on 55672 instead on older rmq versions' do
119 is_expected.to be_listening.on('0.0.0.0').with('tcp')
124 context 'binding to localhost only' do
128 service_manage => true,
130 admin_enable => true,
131 node_ip_address => '127.0.0.1'
136 it_behaves_like 'an idempotent resource'
138 describe service(service_name) do
139 it { is_expected.to be_running }
141 describe port(5672) do
142 it { is_expected.to be_listening.on('127.0.0.1').with('tcp') }
144 describe port(15_672) do
145 it { is_expected.to be_listening.on('127.0.0.1').with('tcp') }
147 # This listens on all interfaces regardless of these settings
148 describe port(25_672) do
149 xit 'Is on 55672 instead on older rmq versions' do
150 is_expected.to be_listening.on('0.0.0.0').with('tcp')
155 context 'ssl enabled' do
159 service_manage => true,
160 admin_enable => true,
161 node_ip_address => '0.0.0.0',
162 ssl_interface => '0.0.0.0',
164 ssl_cacert => '/tmp/cacert.crt',
165 ssl_cert => '/tmp/rabbitmq.crt',
166 ssl_key => '/tmp/rabbitmq.key',
171 it_behaves_like 'an idempotent resource'
173 describe service(service_name) do
174 it { is_expected.to be_running }
176 describe port(5671) do
177 it { is_expected.to be_listening.on('0.0.0.0').with('tcp') }
179 describe port(15_671) do
180 it { is_expected.to be_listening.on('0.0.0.0').with('tcp') }
184 context 'different management_ip_address and node_ip_address' do
188 service_manage => true,
190 admin_enable => true,
191 node_ip_address => '0.0.0.0',
192 management_ip_address => '127.0.0.1'
197 it_behaves_like 'an idempotent resource'
199 describe service(service_name) do
200 it { is_expected.to be_running }
202 describe port(5672) do
203 it { is_expected.to be_listening.on('0.0.0.0').with('tcp') }
205 describe port(15_672) do
206 it { is_expected.to be_listening.on('127.0.0.1').with('tcp') }
208 describe port(25_672) do
209 xit 'Is on 55672 instead on older rmq versions' do
210 is_expected.to be_listening.on('0.0.0.0').with('tcp')