memcached (openstack) is no longer in use
[mirror/dsa-puppet.git] / 3rdparty / modules / glance / spec / classes / glance_notify_rabbitmq_spec.rb
1 require 'spec_helper'
2 describe 'glance::notify::rabbitmq' do
3   let :facts do
4     {
5       :osfamily => 'Debian'
6     }
7   end
8
9   let :pre_condition do
10     'class { "glance::api": keystone_password => "pass" }'
11   end
12
13   describe 'when defaults with rabbit pass specified' do
14     let :params do
15       {:rabbit_password => 'pass'}
16     end
17     it { should contain_glance_api_config('DEFAULT/notification_driver').with_value('messaging') }
18     it { should contain_glance_api_config('DEFAULT/rabbit_password').with_value('pass') }
19     it { should contain_glance_api_config('DEFAULT/rabbit_password').with_value(params[:rabbit_password]).with_secret(true) }
20     it { should contain_glance_api_config('DEFAULT/rabbit_userid').with_value('guest') }
21     it { should contain_glance_api_config('DEFAULT/rabbit_host').with_value('localhost') }
22     it { should contain_glance_api_config('DEFAULT/rabbit_port').with_value('5672') }
23     it { should contain_glance_api_config('DEFAULT/rabbit_hosts').with_value('localhost:5672') }
24     it { should contain_glance_api_config('DEFAULT/rabbit_ha_queues').with_value('false') }
25     it { should contain_glance_api_config('DEFAULT/amqp_durable_queues').with_value('false') }
26     it { should contain_glance_api_config('DEFAULT/rabbit_virtual_host').with_value('/') }
27     it { should contain_glance_api_config('DEFAULT/rabbit_notification_exchange').with_value('glance') }
28     it { should contain_glance_api_config('DEFAULT/rabbit_notification_topic').with_value('notifications') }
29   end
30
31   describe 'when passing params and use ssl' do
32     let :params do
33       {
34         :rabbit_password        => 'pass',
35         :rabbit_userid          => 'guest2',
36         :rabbit_host            => 'localhost2',
37         :rabbit_port            => '5673',
38         :rabbit_use_ssl         => true,
39         :rabbit_durable_queues  => true,
40       }
41       it { should contain_glance_api_config('DEFAULT/rabbit_userid').with_value('guest2') }
42       it { should contain_glance_api_config('DEFAULT/rabbit_host').with_value('localhost2') }
43       it { should contain_glance_api_config('DEFAULT/rabbit_port').with_value('5673') }
44       it { should contain_glance_api_config('DEFAULT/rabbit_use_ssl').with_value('true') }
45       it { should contain_glance_api_config('DEFAULT/kombu_ssl_ca_certs').with_ensure('absent') }
46       it { should contain_glance_api_config('DEFAULT/kombu_ssl_certfile').with_ensure('absent') }
47       it { should contain_glance_api_config('DEFAULT/kombu_ssl_keyfile').with_ensure('absent') }
48       it { should contain_glance_api_config('DEFAULT/kombu_ssl_version').with_value('TLSv1') }
49       it { should contain_glance_api_config('DEFAULT/rabbit_durable_queues').with_value('true') }
50     end
51   end
52
53   describe 'with rabbit ssl cert parameters' do
54     let :params do
55       {
56         :rabbit_password        => 'pass',
57         :rabbit_use_ssl     => 'true',
58         :kombu_ssl_ca_certs => '/etc/ca.cert',
59         :kombu_ssl_certfile => '/etc/certfile',
60         :kombu_ssl_keyfile  => '/etc/key',
61         :kombu_ssl_version  => 'TLSv1',
62       }
63     end
64     it { should contain_glance_api_config('DEFAULT/rabbit_use_ssl').with_value(true) }
65     it { should contain_glance_api_config('DEFAULT/kombu_ssl_ca_certs').with_value('/etc/ca.cert') }
66     it { should contain_glance_api_config('DEFAULT/kombu_ssl_certfile').with_value('/etc/certfile') }
67     it { should contain_glance_api_config('DEFAULT/kombu_ssl_keyfile').with_value('/etc/key') }
68     it { should contain_glance_api_config('DEFAULT/kombu_ssl_version').with_value('TLSv1') }
69   end
70
71   describe 'with rabbit ssl disabled' do
72     let :params do
73       {
74         :rabbit_password    => 'pass',
75         :rabbit_use_ssl     => false,
76         :kombu_ssl_ca_certs => 'undef',
77         :kombu_ssl_certfile => 'undef',
78         :kombu_ssl_keyfile  => 'undef',
79         :kombu_ssl_version  => 'TLSv1',
80       }
81     end
82
83     it { should contain_glance_api_config('DEFAULT/rabbit_use_ssl').with_value('false') }
84     it { should contain_glance_api_config('DEFAULT/kombu_ssl_ca_certs').with_ensure('absent') }
85     it { should contain_glance_api_config('DEFAULT/kombu_ssl_certfile').with_ensure('absent') }
86     it { should contain_glance_api_config('DEFAULT/kombu_ssl_keyfile').with_ensure('absent') }
87     it { should contain_glance_api_config('DEFAULT/kombu_ssl_version').with_ensure('absent') }
88   end
89
90   describe 'when passing params for single rabbit host' do
91     let :params do
92       {
93         :rabbit_password        => 'pass',
94         :rabbit_userid          => 'guest2',
95         :rabbit_host            => 'localhost2',
96         :rabbit_port            => '5673',
97         :rabbit_use_ssl         => true,
98         :rabbit_durable_queues  => true,
99       }
100     end
101     it { should contain_glance_api_config('DEFAULT/rabbit_userid').with_value('guest2') }
102     it { should contain_glance_api_config('DEFAULT/rabbit_host').with_value('localhost2') }
103     it { should contain_glance_api_config('DEFAULT/rabbit_port').with_value('5673') }
104     it { should contain_glance_api_config('DEFAULT/rabbit_hosts').with_value('localhost2:5673') }
105     it { should contain_glance_api_config('DEFAULT/rabbit_use_ssl').with_value('true') }
106     it { should contain_glance_api_config('DEFAULT/amqp_durable_queues').with_value('true') }
107   end
108
109   describe 'when passing params for multiple rabbit hosts' do
110     let :params do
111       {
112         :rabbit_password        => 'pass',
113         :rabbit_userid          => 'guest3',
114         :rabbit_hosts           => ['nonlocalhost3:5673', 'nonlocalhost4:5673']
115       }
116     end
117     it { should contain_glance_api_config('DEFAULT/rabbit_userid').with_value('guest3') }
118     it { should contain_glance_api_config('DEFAULT/rabbit_hosts').with_value(
119                                           'nonlocalhost3:5673,nonlocalhost4:5673') }
120     it { should contain_glance_api_config('DEFAULT/rabbit_ha_queues').with_value('true') }
121     it { should_not contain_glance_api_config('DEFAULT/rabbit_port') }
122     it { should_not contain_glance_api_config('DEFAULT/rabbit_host') }
123   end
124
125   describe 'when using deprecated params' do
126     let :params do
127       {
128         :rabbit_durable_queues  => true,
129         :rabbit_password        => 'pass'
130       }
131     end
132     it { should contain_glance_api_config('DEFAULT/amqp_durable_queues').with_value('true') }
133   end
134 end