2013-06-22 02:12:04 -07:00
|
|
|
require_relative "spec_helper"
|
2013-06-18 19:27:06 -04:00
|
|
|
|
2013-06-22 02:12:04 -07:00
|
|
|
describe "openstack-ops-messaging::rabbitmq-server" do
|
|
|
|
before { ops_messaging_stubs }
|
|
|
|
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
|
2013-06-22 02:12:04 -07:00
|
|
|
@chef_run.converge "openstack-ops-messaging::rabbitmq-server"
|
2013-06-18 19:27:06 -04:00
|
|
|
end
|
|
|
|
|
2013-06-22 02:12:04 -07: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"
|
2013-07-03 11:04:31 -07:00
|
|
|
expect(@chef_run.node["rabbitmq"]["default_user"]).to eql "guest"
|
2013-06-22 02:12:04 -07:00
|
|
|
expect(@chef_run.node['rabbitmq']['default_pass']).to eql "rabbit-pass"
|
2013-06-29 13:50:11 -07:00
|
|
|
end
|
|
|
|
|
2013-10-30 14:27:09 -05: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
|
|
|
|
|
|
|
|
chef_run.converge "openstack-ops-messaging::rabbitmq-server"
|
|
|
|
|
|
|
|
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'
|
|
|
|
expect(chef_run.node['openstack']['image']['rabbit']['port']).to eql '4242'
|
|
|
|
expect(chef_run.node['openstack']['image']['rabbit']['username']).to eql 'foo'
|
|
|
|
expect(chef_run.node['openstack']['image']['rabbit']['vhost']).to eql '/bar'
|
|
|
|
end
|
|
|
|
|
2013-06-29 13:50:11 -07:00
|
|
|
describe "cluster" do
|
|
|
|
before do
|
2013-12-11 12:18:35 +01:00
|
|
|
@chef_run = ::ChefSpec::Runner.new(::UBUNTU_OPTS) do |n|
|
2013-06-29 13:50:11 -07:00
|
|
|
n.set["openstack"]["mq"] = {
|
|
|
|
"cluster" => true
|
|
|
|
}
|
|
|
|
end
|
|
|
|
@chef_run.converge "openstack-ops-messaging::rabbitmq-server"
|
|
|
|
end
|
|
|
|
|
|
|
|
it "overrides cluster" do
|
|
|
|
expect(@chef_run.node['rabbitmq']['cluster']).to be_true
|
|
|
|
end
|
|
|
|
|
|
|
|
it "overrides erlang_cookie" do
|
|
|
|
expect(@chef_run.node['rabbitmq']['erlang_cookie']).to eql(
|
|
|
|
"erlang-cookie"
|
|
|
|
)
|
|
|
|
end
|
|
|
|
|
2013-07-12 23:10:41 -07: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(
|
2013-07-03 11:04:31 -07: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
|
|
|
|
2013-06-22 02:12:04 -07:00
|
|
|
it "includes rabbit recipes" do
|
|
|
|
expect(@chef_run).to include_recipe "rabbitmq"
|
2013-06-18 19:27:06 -04:00
|
|
|
expect(@chef_run).to include_recipe "rabbitmq::mgmt_console"
|
|
|
|
end
|
|
|
|
|
2013-06-22 02:12:04 -07:00
|
|
|
describe "lwrps" do
|
2013-12-11 12:18:35 +01:00
|
|
|
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|
|
|
|
|
node.node.set["openstack"]["mq"]["user"] = "not-a-guest"
|
|
|
|
end.converge("openstack-ops-messaging::rabbitmq-server")
|
2013-06-18 19:27:06 -04:00
|
|
|
|
2013-12-11 12:18:35 +01: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
|
|
|
|
2013-06-22 02:12:04 -07:00
|
|
|
it "adds user" do
|
|
|
|
resource = @chef_run.find_resource(
|
|
|
|
"rabbitmq_user",
|
|
|
|
"add openstack rabbit user"
|
|
|
|
).to_hash
|
|
|
|
|
|
|
|
expect(resource).to include(
|
2013-07-03 11:04:31 -07:00
|
|
|
:user => "guest",
|
2013-06-22 02:12:04 -07:00
|
|
|
:password => "rabbit-pass",
|
|
|
|
:action => [:add]
|
|
|
|
)
|
|
|
|
end
|
2013-06-18 19:27:06 -04:00
|
|
|
|
2013-12-24 08:44:59 +00:00
|
|
|
it "changes password" do
|
|
|
|
resource = @chef_run.find_resource(
|
|
|
|
"rabbitmq_user",
|
|
|
|
"change openstack rabbit user password"
|
|
|
|
).to_hash
|
|
|
|
|
|
|
|
expect(resource).to include(
|
|
|
|
:user => "guest",
|
|
|
|
:password => "rabbit-pass",
|
|
|
|
:action => [:change_password]
|
|
|
|
)
|
|
|
|
end
|
|
|
|
|
2013-06-22 02:12:04 -07:00
|
|
|
it "adds vhost" do
|
|
|
|
resource = @chef_run.find_resource(
|
|
|
|
"rabbitmq_vhost",
|
|
|
|
"add openstack rabbit vhost"
|
|
|
|
).to_hash
|
2013-06-18 19:27:06 -04:00
|
|
|
|
2013-06-22 02:12:04 -07:00
|
|
|
expect(resource).to include(
|
2013-07-03 11:04:31 -07:00
|
|
|
:vhost => "/",
|
2013-06-22 02:12:04 -07:00
|
|
|
:action => [:add]
|
|
|
|
)
|
|
|
|
end
|
2013-06-18 19:27:06 -04:00
|
|
|
|
2013-06-22 02:12:04 -07:00
|
|
|
it "sets user permissions" do
|
|
|
|
resource = @chef_run.find_resource(
|
|
|
|
"rabbitmq_user",
|
|
|
|
"set openstack user permissions"
|
|
|
|
).to_hash
|
|
|
|
|
|
|
|
expect(resource).to include(
|
2013-07-03 11:04:31 -07:00
|
|
|
:user => "guest",
|
|
|
|
:vhost => "/",
|
2013-06-22 02:12:04 -07:00
|
|
|
:permissions => '.* .* .*',
|
|
|
|
:action => [:set_permissions]
|
|
|
|
)
|
|
|
|
end
|
|
|
|
|
|
|
|
it "sets administrator tag" do
|
|
|
|
resource = @chef_run.find_resource(
|
|
|
|
"rabbitmq_user",
|
|
|
|
"set rabbit administrator tag"
|
|
|
|
).to_hash
|
|
|
|
|
|
|
|
expect(resource).to include(
|
2013-07-03 11:04:31 -07:00
|
|
|
:user => "guest",
|
2013-06-22 02:12:04 -07:00
|
|
|
:tag => "administrator",
|
|
|
|
:action => [:set_tags]
|
|
|
|
)
|
|
|
|
end
|
2013-06-18 19:27:06 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|