
W/o this change we cannot drop a RabbitMQ service (cluster) installation and configuration from Cinder module. We want Cinder module to has an option to configure only users, rights, vhosts but not the AMQP cluster itself (this part should be moved to some other modules). The solution is: * add a False value for the rabbitmq_class parameter and skip all of the related configuration steps, if the False value was specified. * Deprecate rabbitmq_class parameter. Closes-bug: #1407077 Change-Id: Ie13123f01fc4a2079dd7ef6622675b7e8c7f417e Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
95 lines
1.9 KiB
Ruby
95 lines
1.9 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'cinder::rabbitmq' do
|
|
|
|
let :facts do
|
|
{ :puppetversion => '2.7',
|
|
:osfamily => 'Debian',
|
|
}
|
|
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 'when no rabbitmq class specified' do
|
|
|
|
let :params do
|
|
{
|
|
:rabbitmq_class => false
|
|
}
|
|
end
|
|
|
|
it 'should not contain rabbitmq class calls' do
|
|
should_not contain_class('rabbitmq::server')
|
|
end
|
|
|
|
end
|
|
|
|
end
|