diff --git a/spec/classes/octavia_keystone_auth_spec.rb b/spec/classes/octavia_keystone_auth_spec.rb index 64e2ee86..49f050b0 100644 --- a/spec/classes/octavia_keystone_auth_spec.rb +++ b/spec/classes/octavia_keystone_auth_spec.rb @@ -1,118 +1,68 @@ +# +# Unit tests for octavia::keystone::auth +# + require 'spec_helper' describe 'octavia::keystone::auth' do - shared_examples 'octavia::keystone::auth' do + shared_examples_for 'octavia::keystone::auth' do context 'with default class parameters' do let :params do - { - :password => 'octavia_password', - :tenant => 'foobar' - } + { :password => 'octavia_password' } end - it { should contain_keystone_user('octavia').with( - :ensure => 'present', - :password => 'octavia_password', - )} - - it { should contain_keystone_user_role('octavia@foobar').with( - :ensure => 'present', - :roles => ['admin'] - )} - - it { should contain_keystone_service('octavia::load-balancer').with( - :ensure => 'present', - :description => 'Octavia Service' - )} - - it { should contain_keystone_endpoint('RegionOne/octavia::load-balancer').with( - :ensure => 'present', - :public_url => 'http://127.0.0.1:9876', - :admin_url => 'http://127.0.0.1:9876', - :internal_url => 'http://127.0.0.1:9876', - )} + it { is_expected.to contain_keystone__resource__service_identity('octavia').with( + :configure_user => true, + :configure_user_role => true, + :configure_endpoint => true, + :service_name => 'octavia', + :service_type => 'load-balancer', + :service_description => 'Octavia Service', + :region => 'RegionOne', + :auth_name => 'octavia', + :password => 'octavia_password', + :email => 'octavia@localhost', + :tenant => 'services', + :public_url => 'http://127.0.0.1:9876', + :internal_url => 'http://127.0.0.1:9876', + :admin_url => 'http://127.0.0.1:9876', + ) } end - context 'when overriding URL parameters' do + context 'when overriding parameters' do let :params do - { - :password => 'octavia_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 { should contain_keystone_endpoint('RegionOne/octavia::load-balancer').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 - - context 'when overriding auth name' do - let :params do - { - :password => 'foo', - :auth_name => 'octaviay' - } - end - - it { should contain_keystone_user('octaviay') } - it { should contain_keystone_user_role('octaviay@services') } - it { should contain_keystone_service('octavia::load-balancer') } - it { should contain_keystone_endpoint('RegionOne/octavia::load-balancer') } - end - - context 'when overriding service name' do - let :params do - { - :service_name => 'octavia_service', - :auth_name => 'octavia', - :password => 'octavia_password' - } - end - - it { should contain_keystone_user('octavia') } - it { should contain_keystone_user_role('octavia@services') } - it { should contain_keystone_service('octavia_service::load-balancer') } - it { should contain_keystone_endpoint('RegionOne/octavia_service::load-balancer') } - end - - context 'when disabling user configuration' do - let :params do - { - :password => 'octavia_password', - :configure_user => false - } - end - - it { should_not contain_keystone_user('octavia') } - it { should contain_keystone_user_role('octavia@services') } - - it { should contain_keystone_service('octavia::load-balancer').with( - :ensure => 'present', - :description => 'Octavia Service' - )} - end - - context 'when disabling user and user role configuration' do - let :params do - { - :password => 'octavia_password', + { :password => 'octavia_password', + :auth_name => 'alt_octavia', + :email => 'alt_octavia@alt_localhost', + :tenant => 'alt_service', + :configure_endpoint => false, :configure_user => false, - :configure_user_role => false - } + :configure_user_role => false, + :service_description => 'Alternative Octavia Service', + :service_name => 'alt_service', + :service_type => 'alt_load-balancer', + :region => 'RegionTwo', + :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 { should_not contain_keystone_user('octavia') } - it { should_not contain_keystone_user_role('octavia@services') } - - it { should contain_keystone_service('octavia::load-balancer').with( - :ensure => 'present', - :description => 'Octavia Service' - )} + it { is_expected.to contain_keystone__resource__service_identity('octavia').with( + :configure_user => false, + :configure_user_role => false, + :configure_endpoint => false, + :service_name => 'alt_service', + :service_type => 'alt_load-balancer', + :service_description => 'Alternative Octavia Service', + :region => 'RegionTwo', + :auth_name => 'alt_octavia', + :password => 'octavia_password', + :email => 'alt_octavia@alt_localhost', + :tenant => 'alt_service', + :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 end