Files
puppet-nova/spec/classes/nova_rabbitmq_spec.rb
danehans 2e1f6c7a7a Adds support for RabbitMQ Clustering
Prior to this change, only a single RabbitMQ Broker
could be deployed by the nova::rabbitmq class.

This change implements the cluster_disk_nodes parameter
that can enable RabbitMQ clustering.

Defaults to false for backwards compatibility.

Change-Id: Iac2d04e855adb53fbb9fe2a23f8773a692162744
2013-07-01 16:41:05 +00:00

103 lines
2.2 KiB
Ruby

require 'spec_helper'
describe 'nova::rabbitmq' do
let :facts do
{:puppetversion => '2.7'}
end
describe 'with defaults' do
it 'should contain all of the default resources' do
should contain_class('rabbitmq::server').with(
:service_ensure => 'running',
:port => '5672',
:delete_guest_user => false
)
should contain_rabbitmq_vhost('/').with(
:provider => 'rabbitmqctl'
)
end
end
describe 'when a rabbitmq user is specified' do
let :params do
{
:userid => 'dan',
:password => 'pass'
}
end
it 'should contain user and permissions' do
should contain_rabbitmq_user('dan').with(
:admin => true,
:password => 'pass',
:provider => 'rabbitmqctl'
)
should contain_rabbitmq_user_permissions('dan@/').with(
:configure_permission => '.*',
:write_permission => '.*',
:read_permission => '.*',
:provider => 'rabbitmqctl'
)
end
end
describe 'when disabled' do
let :params do
{
:userid => 'dan',
:password => 'pass',
:enabled => false
}
end
it 'should be disabled' do
should_not contain_rabbitmq_user('dan')
should_not contain_rabbitmq_user_permissions('dan@/')
should contain_class('rabbitmq::server').with(
:service_ensure => 'stopped',
:port => '5672',
:delete_guest_user => false
)
should_not contain_rabbitmq_vhost('/')
end
end
describe 'with clustering' do
let :params do
{
:cluster_disk_nodes => ['rabbit01', 'rabbit02', 'rabbit03']
}
end
it 'should contain all the clustering resources' do
should contain_class('rabbitmq::server').with(
:service_ensure => 'running',
:port => '5672',
:delete_guest_user => false,
:config_cluster => true,
:cluster_disk_nodes => ['rabbit01', 'rabbit02', 'rabbit03'],
:wipe_db_on_cookie_change => true
)
end
end
end