3e50ac09ee
The code matching the existing endpoints did not take the region into account. This was giving random results and messing up the catalog badly. This code fix it this and add associated rspec checks. Closes-Bug: #1535939 Change-Id: If1cdf30c37194b3a7b08bf85860cf7fb7266f6e1
85 lines
2.7 KiB
Ruby
85 lines
2.7 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'keystone::endpoint' do
|
|
|
|
it { is_expected.to contain_keystone_service('keystone::identity').with(
|
|
:ensure => 'present',
|
|
:description => 'OpenStack Identity Service'
|
|
)}
|
|
|
|
describe 'with default parameters' do
|
|
it { is_expected.to contain_keystone_endpoint('RegionOne/keystone::identity').with(
|
|
:ensure => 'present',
|
|
:public_url => 'http://127.0.0.1:5000/v2.0',
|
|
:admin_url => 'http://127.0.0.1:35357/v2.0',
|
|
:internal_url => 'http://127.0.0.1:5000/v2.0',
|
|
:region => 'RegionOne'
|
|
)}
|
|
end
|
|
|
|
describe 'with overridden parameters' do
|
|
|
|
let :params do
|
|
{ :version => 'v42.6',
|
|
:public_url => 'https://identity.some.tld/the/main/endpoint',
|
|
:admin_url => 'https://identity-int.some.tld/some/admin/endpoint',
|
|
:internal_url => 'https://identity-int.some.tld/some/internal/endpoint',
|
|
:region => 'East'
|
|
}
|
|
end
|
|
|
|
it { is_expected.to contain_keystone_endpoint('East/keystone::identity').with(
|
|
:ensure => 'present',
|
|
:public_url => 'https://identity.some.tld/the/main/endpoint/v42.6',
|
|
:admin_url => 'https://identity-int.some.tld/some/admin/endpoint/v42.6',
|
|
:internal_url => 'https://identity-int.some.tld/some/internal/endpoint/v42.6',
|
|
:region => 'East'
|
|
)}
|
|
end
|
|
|
|
describe 'without a version' do
|
|
# We need to test empty value '' to override the default value, using undef
|
|
# cannot un-set classes parameters.
|
|
let :params do
|
|
{ :version => '' }
|
|
end
|
|
|
|
it { is_expected.to contain_keystone_endpoint('RegionOne/keystone::identity').with(
|
|
:ensure => 'present',
|
|
:public_url => 'http://127.0.0.1:5000',
|
|
:admin_url => 'http://127.0.0.1:35357',
|
|
:internal_url => 'http://127.0.0.1:5000'
|
|
)}
|
|
end
|
|
|
|
describe 'without internal_url parameter' do
|
|
|
|
let :params do
|
|
{ :public_url => 'https://identity.some.tld/the/main/endpoint' }
|
|
end
|
|
|
|
it 'internal_url should default to public_url' do
|
|
is_expected.to contain_keystone_endpoint('RegionOne/keystone::identity').with(
|
|
:ensure => 'present',
|
|
:public_url => 'https://identity.some.tld/the/main/endpoint/v2.0',
|
|
:internal_url => 'https://identity.some.tld/the/main/endpoint/v2.0'
|
|
)
|
|
end
|
|
end
|
|
|
|
describe 'with domain parameters' do
|
|
|
|
let :params do
|
|
{ :user_domain => 'userdomain',
|
|
:project_domain => 'projectdomain',
|
|
:default_domain => 'defaultdomain' }
|
|
end
|
|
|
|
it { is_expected.to contain_keystone__resource__service_identity('keystone').with(
|
|
:user_domain => 'userdomain',
|
|
:project_domain => 'projectdomain',
|
|
:default_domain => 'defaultdomain'
|
|
)}
|
|
end
|
|
end
|