require 'spec_helper' describe 'nova::keystone::authtoken' do let :params do { :password => 'nova_password', } end shared_examples 'nova::keystone::authtoken' do context 'with default parameters' do it 'configure keystone_authtoken' do is_expected.to contain_keystone__resource__authtoken('nova_config').with( :username => 'nova', :password => 'nova_password', :auth_url => 'http://127.0.0.1:5000/', :project_name => 'services', :user_domain_name => 'Default', :project_domain_name => 'Default', :system_scope => '<SERVICE DEFAULT>', :insecure => '<SERVICE DEFAULT>', :auth_section => '<SERVICE DEFAULT>', :auth_type => 'password', :www_authenticate_uri => 'http://127.0.0.1:5000/', :auth_version => '<SERVICE DEFAULT>', :cache => '<SERVICE DEFAULT>', :cafile => '<SERVICE DEFAULT>', :certfile => '<SERVICE DEFAULT>', :delay_auth_decision => '<SERVICE DEFAULT>', :enforce_token_bind => '<SERVICE DEFAULT>', :http_connect_timeout => '<SERVICE DEFAULT>', :http_request_max_retries => '<SERVICE DEFAULT>', :include_service_catalog => '<SERVICE DEFAULT>', :keyfile => '<SERVICE DEFAULT>', :memcache_pool_conn_get_timeout => '<SERVICE DEFAULT>', :memcache_pool_dead_retry => '<SERVICE DEFAULT>', :memcache_pool_maxsize => '<SERVICE DEFAULT>', :memcache_pool_socket_timeout => '<SERVICE DEFAULT>', :memcache_pool_unused_timeout => '<SERVICE DEFAULT>', :memcache_secret_key => '<SERVICE DEFAULT>', :memcache_security_strategy => '<SERVICE DEFAULT>', :memcache_use_advanced_pool => '<SERVICE DEFAULT>', :memcached_servers => '<SERVICE DEFAULT>', :manage_memcache_package => false, :region_name => '<SERVICE DEFAULT>', :token_cache_time => '<SERVICE DEFAULT>', :service_token_roles => '<SERVICE DEFAULT>', :service_token_roles_required => '<SERVICE DEFAULT>', :service_type => '<SERVICE DEFAULT>', :interface => '<SERVICE DEFAULT>', ) end end context 'when overriding parameters' do before do params.merge!({ :www_authenticate_uri => 'https://10.0.0.1:9999/', :username => 'myuser', :password => 'mypasswd', :auth_url => 'http://127.0.0.1:5000', :project_name => 'service_project', :user_domain_name => 'domainX', :project_domain_name => 'domainX', :system_scope => 'all', :insecure => false, :auth_section => 'new_section', :auth_type => 'password', :auth_version => 'v3', :cache => 'somevalue', :cafile => '/opt/stack/data/cafile.pem', :certfile => 'certfile.crt', :delay_auth_decision => false, :enforce_token_bind => 'permissive', :http_connect_timeout => '300', :http_request_max_retries => '3', :include_service_catalog => true, :keyfile => 'keyfile', :memcache_pool_conn_get_timeout => '9', :memcache_pool_dead_retry => '302', :memcache_pool_maxsize => '11', :memcache_pool_socket_timeout => '2', :memcache_pool_unused_timeout => '61', :memcache_secret_key => 'secret_key', :memcache_security_strategy => 'ENCRYPT', :memcache_use_advanced_pool => true, :memcached_servers => ['memcached01:11211','memcached02:11211'], :manage_memcache_package => true, :region_name => 'region2', :token_cache_time => '301', :service_token_roles => ['service'], :service_token_roles_required => false, :service_type => 'identity', :interface => 'internal', }) end it 'configure keystone_authtoken' do is_expected.to contain_keystone__resource__authtoken('nova_config').with( :www_authenticate_uri => 'https://10.0.0.1:9999/', :username => 'myuser', :password => 'mypasswd', :auth_url => 'http://127.0.0.1:5000', :project_name => 'service_project', :user_domain_name => 'domainX', :project_domain_name => 'domainX', :system_scope => 'all', :insecure => false, :auth_section => 'new_section', :auth_type => 'password', :auth_version => 'v3', :cache => 'somevalue', :cafile => '/opt/stack/data/cafile.pem', :certfile => 'certfile.crt', :delay_auth_decision => false, :enforce_token_bind => 'permissive', :http_connect_timeout => '300', :http_request_max_retries => '3', :include_service_catalog => true, :keyfile => 'keyfile', :memcache_pool_conn_get_timeout => '9', :memcache_pool_dead_retry => '302', :memcache_pool_maxsize => '11', :memcache_pool_socket_timeout => '2', :memcache_pool_unused_timeout => '61', :memcache_secret_key => 'secret_key', :memcache_security_strategy => 'ENCRYPT', :memcache_use_advanced_pool => true, :memcached_servers => ['memcached01:11211','memcached02:11211'], :manage_memcache_package => true, :region_name => 'region2', :token_cache_time => '301', :service_token_roles => ['service'], :service_token_roles_required => false, :service_type => 'identity', :interface => 'internal', ) end end context 'when overriding parameters via params hash' do before do params.merge!({ :username => 'myuser', :params => { 'username' => 'myotheruser' }, }) end it 'configure keystone_authtoken' do is_expected.to contain_keystone__resource__authtoken('nova_config').with( :username => 'myotheruser', ) 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 it_configures 'nova::keystone::authtoken' end end end