]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/keystone/spec/classes/keystone_roles_admin_spec.rb
ba7d53296a2ac115a11ad0bd48031d4e3fe7abad
[dsa-puppet.git] / 3rdparty / modules / keystone / spec / classes / keystone_roles_admin_spec.rb
1 require 'spec_helper'
2 describe 'keystone::roles::admin' do
3
4   describe 'with only the required params set' do
5
6     let :params do
7       {
8         :email          => 'foo@bar',
9         :password       => 'ChangeMe',
10         :service_tenant => 'services'
11       }
12     end
13
14     it { should contain_keystone_tenant('services').with(
15       :ensure      => 'present',
16       :enabled     => true,
17       :description => 'Tenant for the openstack services'
18     )}
19     it { should contain_keystone_tenant('openstack').with(
20       :ensure      => 'present',
21       :enabled     => true,
22       :description => 'admin tenant'
23     )}
24     it { should contain_keystone_user('admin').with(
25       :ensure                 => 'present',
26       :enabled                => true,
27       :tenant                 => 'openstack',
28       :email                  => 'foo@bar',
29       :password               => 'ChangeMe',
30       :ignore_default_tenant  => 'false'
31     )}
32     it { should contain_keystone_role('admin').with_ensure('present') }
33     it { should contain_keystone_user_role('admin@openstack').with(
34       :roles  => ['admin'],
35       :ensure => 'present'
36     )}
37
38   end
39
40   describe 'when overriding optional params' do
41
42     let :params do
43       {
44         :admin                  => 'admin',
45         :email                  => 'foo@baz',
46         :password               => 'foo',
47         :admin_tenant           => 'admin',
48         :admin_roles            => ['admin', 'heat_stack_owner'],
49         :service_tenant         => 'foobar',
50         :ignore_default_tenant  => 'true',
51         :admin_tenant_desc      => 'admin something else',
52         :service_tenant_desc    => 'foobar description',
53       }
54     end
55
56     it { should contain_keystone_tenant('foobar').with(
57       :ensure  => 'present',
58       :enabled => true,
59       :description => 'foobar description'
60     )}
61     it { should contain_keystone_tenant('admin').with(
62       :ensure      => 'present',
63       :enabled     => true,
64       :description => 'admin something else'
65     )}
66     it { should contain_keystone_user('admin').with(
67       :ensure                 => 'present',
68       :enabled                => true,
69       :tenant                 => 'admin',
70       :email                  => 'foo@baz',
71       :password               => 'foo',
72       :ignore_default_tenant  => 'true'
73     )}
74     it { should contain_keystone_user_role('admin@admin').with(
75       :roles  => ['admin', 'heat_stack_owner'],
76       :ensure => 'present'
77     )}
78
79   end
80
81   describe 'when disabling user configuration' do
82     before do
83       let :params do
84         {
85           :configure_user => false
86         }
87       end
88
89       it { should_not contain_keystone_user('keystone') }
90       it { should contain_keystone_user_role('keystone@openstack') }
91     end
92   end
93
94   describe 'when disabling user and role configuration' do
95     before do
96       let :params do
97         {
98           :configure_user       => false,
99           :configure_user_role  => false
100         }
101       end
102
103       it { should_not contain_keystone_user('keystone') }
104       it { should_not contain_keystone_user_role('keystone@openstack') }
105     end
106   end
107
108 end