Merge "support for Keystone v3 authentication"
This commit is contained in:
commit
96422c9588
@ -54,3 +54,36 @@ end
|
||||
|
||||
class Puppet::Provider::Openstack::CredentialsV2_0 < Puppet::Provider::Openstack::Credentials
|
||||
end
|
||||
|
||||
class Puppet::Provider::Openstack::CredentialsV3 < Puppet::Provider::Openstack::Credentials
|
||||
|
||||
KEYS = [
|
||||
:cacert,
|
||||
:cert,
|
||||
:default_domain,
|
||||
:domain_id,
|
||||
:domain_name,
|
||||
:key,
|
||||
:project_domain_id,
|
||||
:project_domain_name,
|
||||
:project_id,
|
||||
:trust_id,
|
||||
:user_domain_id,
|
||||
:user_domain_name,
|
||||
:user_id
|
||||
]
|
||||
|
||||
KEYS.each { |var| attr_accessor var }
|
||||
|
||||
def self.defined?(name)
|
||||
KEYS.include?(name.to_sym) || super
|
||||
end
|
||||
|
||||
def user_password_set?
|
||||
return true if (@username || @user_id) && @password && (@project_name || @project_id) && @auth_url
|
||||
end
|
||||
|
||||
def initialize
|
||||
set(:identity_api_version, version)
|
||||
end
|
||||
end
|
||||
|
@ -60,4 +60,33 @@ describe Puppet::Provider::Openstack::Credentials do
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'using v3' do
|
||||
let(:creds) do
|
||||
creds = Puppet::Provider::Openstack::CredentialsV3.new
|
||||
end
|
||||
describe 'with v3' do
|
||||
it 'uses v3 identity api' do
|
||||
creds.identity_api_version == '3'
|
||||
end
|
||||
end
|
||||
describe '#password_set? with username and project_name' do
|
||||
it 'is successful' do
|
||||
creds.auth_url = 'auth_url'
|
||||
creds.password = 'password'
|
||||
creds.project_name = 'project_name'
|
||||
creds.username = 'username'
|
||||
expect(creds.user_password_set?).to be_truthy
|
||||
end
|
||||
end
|
||||
describe '#password_set? with user_id and project_id' do
|
||||
it 'is successful' do
|
||||
creds.auth_url = 'auth_url'
|
||||
creds.password = 'password'
|
||||
creds.project_id = 'projid'
|
||||
creds.user_id = 'userid'
|
||||
expect(creds.user_password_set?).to be_truthy
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user