summaryrefslogtreecommitdiffstats
path: root/components/congress/puppet/spec/classes/congress_keystone_auth_spec.rb
blob: 3cb7e5998cab5ab7afe37dbd4e4a9e2a30777905 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#
# Unit tests for congress::keystone::auth
#

require 'spec_helper'

describe 'congress::keystone::auth' do

  let :facts do
    { :osfamily => 'Debian' }
  end

  describe 'with default class parameters' do
    let :params do
      { :password => 'congress_password',
        :tenant   => 'foobar' }
    end

    it { is_expected.to contain_keystone_user('congress').with(
      :ensure   => 'present',
      :password => 'congress_password',
    ) }

    it { is_expected.to contain_keystone_user_role('congress@foobar').with(
      :ensure  => 'present',
      :roles   => ['admin']
    )}

    it { is_expected.to contain_keystone_service('congress').with(
      :ensure      => 'present',
      :type        => 'FIXME',
      :description => 'congress FIXME Service'
    ) }

    it { is_expected.to contain_keystone_endpoint('RegionOne/congress').with(
      :ensure       => 'present',
      :public_url   => 'http://127.0.0.1:FIXME',
      :admin_url    => 'http://127.0.0.1:FIXME',
      :internal_url => 'http://127.0.0.1:FIXME',
    ) }
  end

  describe 'when overriding URL paramaters' do
    let :params do
      { :password     => 'congress_password',
        :public_url   => 'https://10.10.10.10:80',
        :internal_url => 'http://10.10.10.11:81',
        :admin_url    => 'http://10.10.10.12:81', }
    end

    it { is_expected.to contain_keystone_endpoint('RegionOne/congress').with(
      :ensure       => 'present',
      :public_url   => 'https://10.10.10.10:80',
      :internal_url => 'http://10.10.10.11:81',
      :admin_url    => 'http://10.10.10.12:81',
    ) }
  end

  describe 'when overriding auth name' do
    let :params do
      { :password => 'foo',
        :auth_name => 'congressy' }
    end

    it { is_expected.to contain_keystone_user('congressy') }
    it { is_expected.to contain_keystone_user_role('congressy@services') }
    it { is_expected.to contain_keystone_service('congressy') }
    it { is_expected.to contain_keystone_endpoint('RegionOne/congressy') }
  end

  describe 'when overriding service name' do
    let :params do
      { :service_name => 'congress_service',
        :auth_name    => 'congress',
        :password     => 'congress_password' }
    end

    it { is_expected.to contain_keystone_user('congress') }
    it { is_expected.to contain_keystone_user_role('congress@services') }
    it { is_expected.to contain_keystone_service('congress_service') }
    it { is_expected.to contain_keystone_endpoint('RegionOne/congress_service') }
  end

  describe 'when disabling user configuration' do

    let :params do
      {
        :password       => 'congress_password',
        :configure_user => false
      }
    end

    it { is_expected.not_to contain_keystone_user('congress') }
    it { is_expected.to contain_keystone_user_role('congress@services') }
    it { is_expected.to contain_keystone_service('congress').with(
      :ensure      => 'present',
      :type        => 'FIXME',
      :description => 'congress FIXME Service'
    ) }

  end

  describe 'when disabling user and user role configuration' do

    let :params do
      {
        :password            => 'congress_password',
        :configure_user      => false,
        :configure_user_role => false
      }
    end

    it { is_expected.not_to contain_keystone_user('congress') }
    it { is_expected.not_to contain_keystone_user_role('congress@services') }
    it { is_expected.to contain_keystone_service('congress').with(
      :ensure      => 'present',
      :type        => 'FIXME',
      :description => 'congress FIXME Service'
    ) }

  end

end