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 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
require 'spec_helper'
describe 'oslo::limit' do
let (:title) { 'keystone_config' }
shared_examples 'oslo::limit' do
let :required_params do
{
:username => 'keystone',
:password => 'keystone_password',
}
end
context 'with endpoint_id' do
let :params do
required_params.merge!({
:endpoint_id => '770f924a-e483-4b43-a6f3-73acc91f4757'
})
end
context 'with default parameters' do
it 'configures the required params' do
is_expected.to contain_keystone_config('oslo_limit/username').with_value('keystone')
is_expected.to contain_keystone_config('oslo_limit/password').with_value('keystone_password').with_secret(true)
is_expected.to contain_keystone_config('oslo_limit/endpoint_id').with_value('770f924a-e483-4b43-a6f3-73acc91f4757')
is_expected.to contain_keystone_config('oslo_limit/endpoint_service_type').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('oslo_limit/endpoint_service_name').with_value('<SERVICE DEFAULT>')
end
it 'configures the default params' do
is_expected.to contain_keystone_config('oslo_limit/endpoint_region_name').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('oslo_limit/endpoint_interface').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('oslo_limit/auth_url').with_value('http://localhost:5000')
is_expected.to contain_keystone_config('oslo_limit/project_name').with_value('services')
is_expected.to contain_keystone_config('oslo_limit/user_domain_name').with_value('Default')
is_expected.to contain_keystone_config('oslo_limit/project_domain_name').with_value('Default')
is_expected.to contain_keystone_config('oslo_limit/system_scope').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('oslo_limit/auth_type').with_value('password')
is_expected.to contain_keystone_config('oslo_limit/service_type').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('oslo_limit/valid_interfaces').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('oslo_limit/region_name').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('oslo_limit/endpoint_override').with_value('<SERVICE DEFAULT>')
end
end
context 'with parameters overridden' do
before :each do
params.merge!({
:endpoint_region_name => 'regionOne',
:endpoint_interface => 'public',
:auth_url => 'http://localhost:5000/v3',
:project_name => 'alt_services',
:user_domain_name => 'UserDomain',
:project_domain_name => 'ProjectDomain',
:auth_type => 'v3password',
:service_type => 'identity',
:valid_interfaces => ['admin', 'internal'],
:region_name => 'regionOne',
:endpoint_override => 'http://localhost:5000',
})
end
it 'configures the overridden values' do
is_expected.to contain_keystone_config('oslo_limit/endpoint_region_name').with_value('regionOne')
is_expected.to contain_keystone_config('oslo_limit/endpoint_interface').with_value('public')
is_expected.to contain_keystone_config('oslo_limit/auth_url').with_value('http://localhost:5000/v3')
is_expected.to contain_keystone_config('oslo_limit/project_name').with_value('alt_services')
is_expected.to contain_keystone_config('oslo_limit/user_domain_name').with_value('UserDomain')
is_expected.to contain_keystone_config('oslo_limit/project_domain_name').with_value('ProjectDomain')
is_expected.to contain_keystone_config('oslo_limit/system_scope').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('oslo_limit/auth_type').with_value('v3password')
is_expected.to contain_keystone_config('oslo_limit/service_type').with_value('identity')
is_expected.to contain_keystone_config('oslo_limit/valid_interfaces').with_value('admin,internal')
is_expected.to contain_keystone_config('oslo_limit/region_name').with_value('regionOne')
is_expected.to contain_keystone_config('oslo_limit/endpoint_override').with_value('http://localhost:5000')
end
end
context 'with system_scope' do
before :each do
params.merge!({
:project_name => 'services',
:system_scope => 'all',
})
end
it 'configures system_scope but ignore project parameters' do
is_expected.to contain_keystone_config('oslo_limit/project_name').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('oslo_limit/project_domain_name').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('oslo_limit/system_scope').with_value('all')
end
end
end
context 'with endpoint_service_name' do
let :params do
required_params.merge({
:endpoint_service_name => 'nova',
})
end
it 'configures the required params' do
is_expected.to contain_keystone_config('oslo_limit/username').with_value('keystone')
is_expected.to contain_keystone_config('oslo_limit/password').with_value('keystone_password').with_secret(true)
is_expected.to contain_keystone_config('oslo_limit/endpoint_id').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('oslo_limit/endpoint_service_type').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('oslo_limit/endpoint_service_name').with_value('nova')
end
end
context 'with endpoint_service_type' do
let :params do
required_params.merge({
:endpoint_service_type => 'compute',
})
end
it 'configures the required params' do
is_expected.to contain_keystone_config('oslo_limit/username').with_value('keystone')
is_expected.to contain_keystone_config('oslo_limit/password').with_value('keystone_password').with_secret(true)
is_expected.to contain_keystone_config('oslo_limit/endpoint_id').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('oslo_limit/endpoint_service_type').with_value('compute')
is_expected.to contain_keystone_config('oslo_limit/endpoint_service_name').with_value('<SERVICE DEFAULT>')
end
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
include_examples 'oslo::limit'
end
end
end
|