2014-01-17 16:04:13 +00:00
|
|
|
# encoding: UTF-8
|
|
|
|
require_relative 'spec_helper'
|
2013-06-18 19:27:06 -04:00
|
|
|
|
2014-01-17 16:04:13 +00:00
|
|
|
describe 'openstack-ops-messaging::rabbitmq-server' do
|
2013-06-22 02:12:04 -07:00
|
|
|
before { ops_messaging_stubs }
|
2014-01-17 16:04:13 +00:00
|
|
|
describe 'ubuntu' do
|
2013-06-18 19:27:06 -04:00
|
|
|
before do
|
2013-12-11 12:18:35 +01:00
|
|
|
@chef_run = ::ChefSpec::Runner.new ::UBUNTU_OPTS
|
2014-01-17 16:04:13 +00:00
|
|
|
@chef_run.converge 'openstack-ops-messaging::rabbitmq-server'
|
2013-06-18 19:27:06 -04:00
|
|
|
end
|
|
|
|
|
2014-01-17 16:04:13 +00:00
|
|
|
it 'overrides default rabbit attributes' do
|
|
|
|
expect(@chef_run.node['openstack']['mq']['port']).to eql '5672'
|
|
|
|
expect(@chef_run.node['openstack']['mq']['listen']).to eql '127.0.0.1'
|
|
|
|
expect(@chef_run.node['rabbitmq']['address']).to eql '127.0.0.1'
|
|
|
|
expect(@chef_run.node['rabbitmq']['default_user']).to eql 'guest'
|
|
|
|
expect(@chef_run.node['rabbitmq']['default_pass']).to eql 'rabbit-pass'
|
2014-02-19 12:21:40 +00:00
|
|
|
expect(@chef_run.node['rabbitmq']['use_distro_version']).to eql true
|
2013-06-29 13:50:11 -07:00
|
|
|
end
|
|
|
|
|
2014-01-17 16:04:13 +00:00
|
|
|
it 'overrides rabbit and openstack image attributes' do
|
2013-12-11 12:18:35 +01:00
|
|
|
chef_run = ::ChefSpec::Runner.new ::UBUNTU_OPTS do |n|
|
2013-10-30 14:27:09 -05:00
|
|
|
n.set['openstack']['mq']['bind_interface'] = 'eth0'
|
|
|
|
n.set['openstack']['mq']['port'] = '4242'
|
|
|
|
n.set['openstack']['mq']['user'] = 'foo'
|
|
|
|
n.set['openstack']['mq']['vhost'] = '/bar'
|
|
|
|
end
|
|
|
|
|
2014-01-17 16:04:13 +00:00
|
|
|
chef_run.converge 'openstack-ops-messaging::rabbitmq-server'
|
2013-10-30 14:27:09 -05:00
|
|
|
|
|
|
|
expect(chef_run.node['openstack']['mq']['listen']).to eql '33.44.55.66'
|
|
|
|
expect(chef_run.node['openstack']['mq']['port']).to eql '4242'
|
|
|
|
expect(chef_run.node['openstack']['mq']['user']).to eql 'foo'
|
|
|
|
expect(chef_run.node['openstack']['mq']['vhost']).to eql '/bar'
|
2014-01-16 16:55:21 +00:00
|
|
|
expect(chef_run.node['openstack']['mq']['image']['rabbit']['port']).to eql '4242'
|
|
|
|
expect(chef_run.node['openstack']['mq']['image']['rabbit']['userid']).to eql 'foo'
|
|
|
|
expect(chef_run.node['openstack']['mq']['image']['rabbit']['vhost']).to eql '/bar'
|
2013-10-30 14:27:09 -05:00
|
|
|
end
|
|
|
|
|
2014-01-17 16:04:13 +00:00
|
|
|
describe 'cluster' do
|
2013-06-29 13:50:11 -07:00
|
|
|
before do
|
2013-12-11 12:18:35 +01:00
|
|
|
@chef_run = ::ChefSpec::Runner.new(::UBUNTU_OPTS) do |n|
|
2014-01-17 16:04:13 +00:00
|
|
|
n.set['openstack']['mq'] = {
|
|
|
|
'cluster' => true
|
2013-06-29 13:50:11 -07:00
|
|
|
}
|
|
|
|
end
|
2014-01-17 16:04:13 +00:00
|
|
|
@chef_run.converge 'openstack-ops-messaging::rabbitmq-server'
|
2013-06-29 13:50:11 -07:00
|
|
|
end
|
|
|
|
|
2014-01-17 16:04:13 +00:00
|
|
|
it 'overrides cluster' do
|
2013-06-29 13:50:11 -07:00
|
|
|
expect(@chef_run.node['rabbitmq']['cluster']).to be_true
|
|
|
|
end
|
|
|
|
|
2014-01-17 16:04:13 +00:00
|
|
|
it 'overrides erlang_cookie' do
|
2013-06-29 13:50:11 -07:00
|
|
|
expect(@chef_run.node['rabbitmq']['erlang_cookie']).to eql(
|
2014-01-17 16:04:13 +00:00
|
|
|
'erlang-cookie'
|
2013-06-29 13:50:11 -07:00
|
|
|
)
|
|
|
|
end
|
|
|
|
|
2014-01-17 16:04:13 +00:00
|
|
|
it 'overrides and sorts cluster_disk_nodes' do
|
2013-06-29 13:50:11 -07:00
|
|
|
expect(@chef_run.node['rabbitmq']['cluster_disk_nodes']).to eql(
|
2014-01-17 16:04:13 +00:00
|
|
|
['guest@host1', 'guest@host2']
|
2013-06-29 13:50:11 -07:00
|
|
|
)
|
|
|
|
end
|
2013-06-22 02:12:04 -07:00
|
|
|
end
|
2013-06-18 19:27:06 -04:00
|
|
|
|
2014-01-17 16:04:13 +00:00
|
|
|
it 'includes rabbit recipes' do
|
|
|
|
expect(@chef_run).to include_recipe 'rabbitmq'
|
|
|
|
expect(@chef_run).to include_recipe 'rabbitmq::mgmt_console'
|
2013-06-18 19:27:06 -04:00
|
|
|
end
|
|
|
|
|
2014-01-17 16:04:13 +00:00
|
|
|
describe 'lwrps' do
|
|
|
|
it 'does not delete the guest user' do
|
|
|
|
expect(@chef_run).not_to delete_rabbitmq_user('remove rabbit guest user')
|
2013-06-22 02:12:04 -07:00
|
|
|
end
|
|
|
|
|
2013-12-11 12:18:35 +01:00
|
|
|
it "deletes a user not called 'guest'" do
|
|
|
|
chef_run = ChefSpec::Runner.new(::UBUNTU_OPTS) do |node|
|
2014-01-17 16:04:13 +00:00
|
|
|
node.node.set['openstack']['mq']['user'] = 'not-a-guest'
|
|
|
|
end.converge('openstack-ops-messaging::rabbitmq-server')
|
2013-06-18 19:27:06 -04:00
|
|
|
|
2014-01-17 16:04:13 +00:00
|
|
|
expect(chef_run).to delete_rabbitmq_user('remove rabbit guest user')
|
2013-06-22 02:12:04 -07:00
|
|
|
end
|
2013-06-18 19:27:06 -04:00
|
|
|
|
2014-01-17 16:04:13 +00:00
|
|
|
it 'adds user' do
|
2013-06-22 02:12:04 -07:00
|
|
|
resource = @chef_run.find_resource(
|
2014-01-17 16:04:13 +00:00
|
|
|
'rabbitmq_user',
|
|
|
|
'add openstack rabbit user'
|
2013-06-22 02:12:04 -07:00
|
|
|
).to_hash
|
|
|
|
|
|
|
|
expect(resource).to include(
|
2014-01-17 16:04:13 +00:00
|
|
|
user: 'guest',
|
|
|
|
password: 'rabbit-pass',
|
|
|
|
action: [:add]
|
2013-06-22 02:12:04 -07:00
|
|
|
)
|
|
|
|
end
|
2013-06-18 19:27:06 -04:00
|
|
|
|
2014-01-17 16:04:13 +00:00
|
|
|
it 'changes password' do
|
2013-12-24 08:44:59 +00:00
|
|
|
resource = @chef_run.find_resource(
|
2014-01-17 16:04:13 +00:00
|
|
|
'rabbitmq_user',
|
|
|
|
'change openstack rabbit user password'
|
2013-12-24 08:44:59 +00:00
|
|
|
).to_hash
|
|
|
|
|
|
|
|
expect(resource).to include(
|
2014-01-17 16:04:13 +00:00
|
|
|
user: 'guest',
|
|
|
|
password: 'rabbit-pass',
|
|
|
|
action: [:change_password]
|
2013-12-24 08:44:59 +00:00
|
|
|
)
|
|
|
|
end
|
|
|
|
|
2014-01-17 16:04:13 +00:00
|
|
|
it 'adds vhost' do
|
2013-06-22 02:12:04 -07:00
|
|
|
resource = @chef_run.find_resource(
|
2014-01-17 16:04:13 +00:00
|
|
|
'rabbitmq_vhost',
|
|
|
|
'add openstack rabbit vhost'
|
2013-06-22 02:12:04 -07:00
|
|
|
).to_hash
|
2013-06-18 19:27:06 -04:00
|
|
|
|
2013-06-22 02:12:04 -07:00
|
|
|
expect(resource).to include(
|
2014-01-17 16:04:13 +00:00
|
|
|
vhost: '/',
|
|
|
|
action: [:add]
|
2013-06-22 02:12:04 -07:00
|
|
|
)
|
|
|
|
end
|
2013-06-18 19:27:06 -04:00
|
|
|
|
2014-01-17 16:04:13 +00:00
|
|
|
it 'sets user permissions' do
|
2013-06-22 02:12:04 -07:00
|
|
|
resource = @chef_run.find_resource(
|
2014-01-17 16:04:13 +00:00
|
|
|
'rabbitmq_user',
|
|
|
|
'set openstack user permissions'
|
2013-06-22 02:12:04 -07:00
|
|
|
).to_hash
|
|
|
|
|
|
|
|
expect(resource).to include(
|
2014-01-17 16:04:13 +00:00
|
|
|
user: 'guest',
|
|
|
|
vhost: '/',
|
|
|
|
permissions: '.* .* .*',
|
|
|
|
action: [:set_permissions]
|
2013-06-22 02:12:04 -07:00
|
|
|
)
|
|
|
|
end
|
|
|
|
|
2014-01-17 16:04:13 +00:00
|
|
|
it 'sets administrator tag' do
|
2013-06-22 02:12:04 -07:00
|
|
|
resource = @chef_run.find_resource(
|
2014-01-17 16:04:13 +00:00
|
|
|
'rabbitmq_user',
|
|
|
|
'set rabbit administrator tag'
|
2013-06-22 02:12:04 -07:00
|
|
|
).to_hash
|
|
|
|
|
|
|
|
expect(resource).to include(
|
2014-01-17 16:04:13 +00:00
|
|
|
user: 'guest',
|
|
|
|
tag: 'administrator',
|
|
|
|
action: [:set_tags]
|
2013-06-22 02:12:04 -07:00
|
|
|
)
|
|
|
|
end
|
2013-06-18 19:27:06 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|