memcached (openstack) is no longer in use
[mirror/dsa-puppet.git] / 3rdparty / modules / glance / spec / classes / glance_keystone_auth_spec.rb
1 require 'spec_helper'
2
3 describe 'glance::keystone::auth' do
4
5   describe 'with defaults' do
6
7     let :params do
8       {:password => 'pass'}
9     end
10
11     it { should contain_keystone_user('glance').with(
12       :ensure   => 'present',
13       :password => 'pass'
14     )}
15
16     it { should contain_keystone_user_role('glance@services').with(
17       :ensure => 'present',
18       :roles  => 'admin'
19     ) }
20
21     it { should contain_keystone_service('glance').with(
22       :ensure      => 'present',
23       :type        => 'image',
24       :description => 'Openstack Image Service'
25     ) }
26
27     it { should contain_keystone_endpoint('RegionOne/glance').with(
28       :ensure       => 'present',
29       :public_url   => 'http://127.0.0.1:9292',
30       :admin_url    => 'http://127.0.0.1:9292',
31       :internal_url => 'http://127.0.0.1:9292'
32     )}
33
34   end
35
36   describe 'when auth_type, password, and service_type are overridden' do
37
38     let :params do
39       {
40         :auth_name    => 'glancey',
41         :password     => 'password',
42         :service_type => 'imagey'
43       }
44     end
45
46     it { should contain_keystone_user('glancey').with(
47       :ensure   => 'present',
48       :password => 'password'
49     )}
50
51     it { should contain_keystone_user_role('glancey@services').with(
52       :ensure => 'present',
53       :roles  => 'admin'
54     ) }
55
56     it { should contain_keystone_service('glancey').with(
57       :ensure      => 'present',
58       :type        => 'imagey',
59       :description => 'Openstack Image Service'
60     ) }
61
62   end
63
64   describe 'when address, region, port and protocoll are overridden' do
65
66     let :params do
67       {
68         :password          => 'pass',
69         :public_address    => '10.0.0.1',
70         :admin_address     => '10.0.0.2',
71         :internal_address  => '10.0.0.3',
72         :port              => '9393',
73         :region            => 'RegionTwo',
74         :public_protocol   => 'https',
75         :admin_protocol    => 'https',
76         :internal_protocol => 'https'
77       }
78     end
79
80     it { should contain_keystone_endpoint('RegionTwo/glance').with(
81       :ensure       => 'present',
82       :public_url   => 'https://10.0.0.1:9393',
83       :admin_url    => 'https://10.0.0.2:9393',
84       :internal_url => 'https://10.0.0.3:9393'
85     )}
86
87   end
88
89   describe 'when endpoint is not set' do
90
91     let :params do
92       {
93         :configure_endpoint => false,
94         :password         => 'pass',
95       }
96     end
97
98     it { should_not contain_keystone_endpoint('RegionOne/glance') }
99   end
100
101   describe 'when disabling user configuration' do
102     let :params do
103       {
104         :configure_user => false,
105         :password       => 'pass',
106       }
107     end
108
109     it { should_not contain_keystone_user('glance') }
110
111     it { should contain_keystone_user_role('glance@services') }
112
113     it { should contain_keystone_service('glance').with(
114       :ensure      => 'present',
115       :type        => 'image',
116       :description => 'Openstack Image Service'
117     ) }
118   end
119
120   describe 'when disabling user and user role configuration' do
121     let :params do
122       {
123         :configure_user      => false,
124         :configure_user_role => false,
125         :password            => 'pass',
126       }
127     end
128
129     it { should_not contain_keystone_user('glance') }
130
131     it { should_not contain_keystone_user_role('glance@services') }
132
133     it { should contain_keystone_service('glance').with(
134       :ensure      => 'present',
135       :type        => 'image',
136       :description => 'Openstack Image Service'
137     ) }
138   end
139
140   describe 'when configuring glance-api and the keystone endpoint' do
141     let :pre_condition do
142       "class { 'glance::api': keystone_password => 'test' }"
143     end
144
145     let :facts do
146       { :osfamily => 'Debian' }
147     end
148
149     let :params do
150       {
151         :password => 'test',
152         :configure_endpoint => true
153       }
154     end
155
156     it { should contain_keystone_endpoint('RegionOne/glance').with_notify('Service[glance-api]') }
157     end
158
159   describe 'when overriding service name' do
160
161     let :params do
162       {
163         :service_name => 'glance_service',
164         :password     => 'pass'
165       }
166     end
167
168     it { should contain_keystone_user('glance') }
169     it { should contain_keystone_user_role('glance@services') }
170     it { should contain_keystone_service('glance_service') }
171     it { should contain_keystone_endpoint('RegionOne/glance_service') }
172
173   end
174
175 end