puppet-cinder/spec/classes/cinder_keystone_auth_spec.rb
Cody Herriges 46e46998d0 Remove code deprecated in liberty cycle
This commit removes all code that was related to deprecations,
  including tests put in during the liberty release cycle and
  increases the verbosity of warnings provided for code deprecated
  during this cycle (Mitaka).

Change-Id: I991654c6c0706eea31a6702703596e73080bec4e
2016-01-26 14:14:04 -08:00

160 lines
5.2 KiB
Ruby

require 'spec_helper'
describe 'cinder::keystone::auth' do
let :params do
{:password => 'pw'}
end
context 'with required parameters' do
it 'configures keystone user and service' do
is_expected.to contain_keystone_user('cinder').with(
:ensure => 'present',
:password => 'pw',
:email => 'cinder@localhost',
)
is_expected.to contain_keystone_user_role('cinder@services').with(
:ensure => 'present',
:roles => ['admin']
)
is_expected.to contain_keystone_service('cinder::volume').with(
:ensure => 'present',
:description => 'Cinder Service'
)
is_expected.to contain_keystone_service('cinderv2::volumev2').with(
:ensure => 'present',
:description => 'Cinder Service v2'
)
end
it 'configures keystone endpoints' do
is_expected.to contain_keystone_endpoint('RegionOne/cinder::volume').with(
:ensure => 'present',
:public_url => 'http://127.0.0.1:8776/v1/%(tenant_id)s',
:admin_url => 'http://127.0.0.1:8776/v1/%(tenant_id)s',
:internal_url => 'http://127.0.0.1:8776/v1/%(tenant_id)s'
)
is_expected.to contain_keystone_endpoint('RegionOne/cinderv2::volumev2').with(
:ensure => 'present',
:public_url => 'http://127.0.0.1:8776/v2/%(tenant_id)s',
:admin_url => 'http://127.0.0.1:8776/v2/%(tenant_id)s',
:internal_url => 'http://127.0.0.1:8776/v2/%(tenant_id)s'
)
end
end
context 'when overriding parameters' do
before do
params.merge!({
:region => 'RegionThree',
:public_url => 'https://10.0.42.1:4242/v41/%(tenant_id)s',
:admin_url => 'https://10.0.42.2:4242/v41/%(tenant_id)s',
:internal_url => 'https://10.0.42.3:4242/v41/%(tenant_id)s',
:public_url_v2 => 'https://10.0.42.1:4242/v42/%(tenant_id)s',
:admin_url_v2 => 'https://10.0.42.2:4242/v42/%(tenant_id)s',
:internal_url_v2 => 'https://10.0.42.3:4242/v42/%(tenant_id)s'
})
end
it 'configures keystone endpoints' do
is_expected.to contain_keystone_endpoint('RegionThree/cinder::volume').with(
:ensure => 'present',
:public_url => 'https://10.0.42.1:4242/v41/%(tenant_id)s',
:admin_url => 'https://10.0.42.2:4242/v41/%(tenant_id)s',
:internal_url => 'https://10.0.42.3:4242/v41/%(tenant_id)s'
)
is_expected.to contain_keystone_endpoint('RegionThree/cinderv2::volumev2').with(
:ensure => 'present',
:public_url => 'https://10.0.42.1:4242/v42/%(tenant_id)s',
:admin_url => 'https://10.0.42.2:4242/v42/%(tenant_id)s',
:internal_url => 'https://10.0.42.3:4242/v42/%(tenant_id)s'
)
end
end
describe 'when endpoint is_expected.to not be configured' do
before do
params.merge!(
:configure_endpoint => false,
:configure_endpoint_v2 => false
)
end
it { is_expected.to_not contain_keystone_endpoint('RegionOne/cinder::volume') }
it { is_expected.to_not contain_keystone_endpoint('RegionOne/cinderv2::volumev2') }
end
describe 'when user is_expected.to not be configured' do
before do
params.merge!(
:configure_user => false
)
end
it { is_expected.to_not contain_keystone_user('cinder') }
it { is_expected.to contain_keystone_user_role('cinder@services') }
it { is_expected.to contain_keystone_service('cinder::volume').with(
:ensure => 'present',
:description => 'Cinder Service'
) }
end
describe 'when user and user role is_expected.to not be configured' do
before do
params.merge!(
:configure_user => false,
:configure_user_role => false
)
end
it { is_expected.to_not contain_keystone_user('cinder') }
it { is_expected.to_not contain_keystone_user_role('cinder@services') }
it { is_expected.to contain_keystone_service('cinder::volume').with(
:ensure => 'present',
:description => 'Cinder Service'
) }
end
describe 'when user and user role for v2 is_expected.to be configured' do
before do
params.merge!(
:configure_user_v2 => true,
:configure_user_role_v2 => true,
)
end
it { is_expected.to contain_keystone__resource__service_identity('cinderv2').with(
:configure_user => true,
:configure_user_role => true,
:email => 'cinderv2@localhost',
:tenant => 'services'
) }
end
describe 'when overriding service names' do
before do
params.merge!(
:service_name => 'cinder_service',
:service_name_v2 => 'cinder_service_v2',
)
end
it { is_expected.to contain_keystone_user('cinder') }
it { is_expected.to contain_keystone_user_role('cinder@services') }
it { is_expected.to contain_keystone_service('cinder_service::volume') }
it { is_expected.to contain_keystone_service('cinder_service_v2::volumev2') }
it { is_expected.to contain_keystone_endpoint('RegionOne/cinder_service::volume') }
it { is_expected.to contain_keystone_endpoint('RegionOne/cinder_service_v2::volumev2') }
end
end