a5c7537e718ff7fa69b8f58116160ec738d8152b
[mirror/dsa-puppet.git] / 3rdparty / modules / nova / spec / classes / nova_rabbitmq_spec.rb
1 require 'spec_helper'
2
3 describe 'nova::rabbitmq' do
4
5   let :facts do
6     {
7       :puppetversion => '2.7',
8       :osfamily => 'Debian'
9     }
10   end
11
12   describe 'with defaults' do
13
14     it 'should contain all of the default resources' do
15
16       should contain_class('rabbitmq::server').with(
17         :service_ensure    => 'running',
18         :port              => '5672',
19         :delete_guest_user => false
20       )
21
22       should contain_rabbitmq_vhost('/').with(
23         :provider => 'rabbitmqctl'
24       )
25     end
26
27   end
28
29   describe 'when a rabbitmq user is specified' do
30
31     let :params do
32       {
33         :userid   => 'dan',
34         :password => 'pass'
35       }
36     end
37
38     it 'should contain user and permissions' do
39
40       should contain_rabbitmq_user('dan').with(
41         :admin    => true,
42         :password => 'pass',
43         :provider => 'rabbitmqctl'
44       )
45
46       should contain_rabbitmq_user_permissions('dan@/').with(
47         :configure_permission => '.*',
48         :write_permission     => '.*',
49         :read_permission      => '.*',
50         :provider             => 'rabbitmqctl'
51       )
52
53     end
54
55   end
56
57   describe 'when disabled' do
58     let :params do
59       {
60         :userid   => 'dan',
61         :password => 'pass',
62         :enabled  => false
63       }
64     end
65
66     it 'should be disabled' do
67
68       should_not contain_rabbitmq_user('dan')
69       should_not contain_rabbitmq_user_permissions('dan@/')
70       should contain_class('rabbitmq::server').with(
71         :service_ensure    => 'stopped',
72         :port              => '5672',
73         :delete_guest_user => false
74       )
75
76       should_not contain_rabbitmq_vhost('/')
77
78     end
79   end
80
81   describe 'with clustering' do
82
83     let :params do
84       {
85         :cluster_disk_nodes => ['rabbit01', 'rabbit02', 'rabbit03']
86       }
87     end
88
89     it 'should contain all the clustering resources' do
90
91       should contain_class('rabbitmq::server').with(
92         :service_ensure           => 'running',
93         :port                     => '5672',
94         :delete_guest_user        => false,
95         :config_cluster           => true,
96         :cluster_disk_nodes       => ['rabbit01', 'rabbit02', 'rabbit03'],
97         :wipe_db_on_cookie_change => true
98       )
99
100     end
101
102   end
103
104
105 end