1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
require 'spec_helper_acceptance'
describe 'rabbitmq policy on a vhost:' do
context 'create policy resource' do
it 'runs successfully' do
pp = <<-EOS
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true }
Class['erlang'] -> Class['rabbitmq']
}
class { 'rabbitmq':
service_manage => true,
port => 5672,
delete_guest_user => true,
admin_enable => true,
} ->
rabbitmq_vhost { 'myhost':
ensure => present,
} ->
rabbitmq_policy { 'ha-all@myhost':
pattern => '.*',
priority => 0,
applyto => 'all',
definition => {
'ha-mode' => 'all',
'ha-sync-mode' => 'automatic',
},
}
rabbitmq_policy { 'eu-federation@myhost':
pattern => '^eu\\.',
priority => 0,
applyto => 'all',
definition => {
'federation-upstream-set' => 'all',
},
}
EOS
apply_manifest(pp, catch_failures: true)
apply_manifest(pp, catch_changes: true)
# Apply twice to ensure no changes the second time.
apply_manifest(pp, catch_failures: true)
expect(apply_manifest(pp, catch_changes: true).exit_code).to be_zero
end
# rubocop:disable RSpec/MultipleExpectations
it 'has the policy' do
shell('rabbitmqctl list_policies -p myhost') do |r|
expect(r.stdout).to match(%r{myhost.*ha-all.*ha-sync-mode})
expect(r.stdout).to match(%r{myhost.*eu-federation})
expect(r.exit_code).to be_zero
end
end
# rubocop:enable RSpec/MultipleExpectations
end
end
|