From 87f9aee0b832d22e5e9ada3a991427f3cf9580c1 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Fri, 3 Jan 2014 18:15:05 +0100 Subject: [PATCH] add unit tests for rabbitmq Signed-off-by: Emilien Macchi --- manifests/messaging.pp | 2 +- spec/classes/privatecloud_messaging_spec.rb | 57 +++++++++++++++++++++ 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/manifests/messaging.pp b/manifests/messaging.pp index 24b3a274..7a0aaf7c 100644 --- a/manifests/messaging.pp +++ b/manifests/messaging.pp @@ -35,7 +35,7 @@ class privatecloud::messaging( class { 'rabbitmq::server': delete_guest_user => true, - config_cluster => false, # true > Broken on RHEL/CentOS + config_cluster => true, cluster_nodes => $rabbit_hosts, wipe_db_on_cookie_change => true, } diff --git a/spec/classes/privatecloud_messaging_spec.rb b/spec/classes/privatecloud_messaging_spec.rb index e69de29b..c207a22d 100644 --- a/spec/classes/privatecloud_messaging_spec.rb +++ b/spec/classes/privatecloud_messaging_spec.rb @@ -0,0 +1,57 @@ +# +# Copyright (C) 2014 eNovance SAS +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# Unit tests for privatecloud::messaging class +# + +require 'spec_helper' + +describe 'privatecloud::messaging' do + + shared_examples_for 'openstack messaging' do + + let :params do + { :rabbit_hosts => ['10.0.0.1'], + :rabbit_password => 'secrete' } + end + + it 'configure rabbitmq-server' do + should contain_class('rabbitmq::server').with( + :delete_guest_user => true, + :config_cluster => true, + :cluster_nodes => ['10.0.0.1'], + :wipe_db_on_cookie_change => true + ) + end + + end + + context 'on Debian platforms' do + let :facts do + { :osfamily => 'Debian' } + end + + it_configures 'openstack messaging' + end + + context 'on RedHat platforms' do + let :facts do + { :osfamily => 'RedHat' } + end + + it_configures 'openstack messaging' + end + +end