Changeset View
Changeset View
Standalone View
Standalone View
spec/unit/puppet/type/keycloak_client_spec.rb
Show First 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | defaults = { | ||||
service_accounts_enabled: :false, | service_accounts_enabled: :false, | ||||
public_client: :false, | public_client: :false, | ||||
full_scope_allowed: :true, | full_scope_allowed: :true, | ||||
default_client_scopes: [], | default_client_scopes: [], | ||||
optional_client_scopes: [], | optional_client_scopes: [], | ||||
redirect_uris: [], | redirect_uris: [], | ||||
web_origins: [], | web_origins: [], | ||||
login_theme: 'absent', | login_theme: 'absent', | ||||
browser_flow: :absent, | |||||
direct_grant_flow: :absent, | |||||
} | } | ||||
describe 'basic properties' do | describe 'basic properties' do | ||||
# Test basic properties | # Test basic properties | ||||
[ | [ | ||||
:secret, | :secret, | ||||
:login_theme, | :login_theme, | ||||
:root_url, | :root_url, | ||||
:base_url, | :base_url, | ||||
:browser_flow, | |||||
:direct_grant_flow, | |||||
].each do |p| | ].each do |p| | ||||
it "should accept a #{p}" do | it "should accept a #{p}" do | ||||
config[p] = 'foo' | config[p] = 'foo' | ||||
expect(resource[p]).to eq('foo') | expect(resource[p]).to eq('foo') | ||||
end | end | ||||
next unless defaults[p] | next unless defaults[p] | ||||
it "should have default for #{p}" do | it "should have default for #{p}" do | ||||
expect(resource[p]).to eq(defaults[p]) | expect(resource[p]).to eq(defaults[p]) | ||||
▲ Show 20 Lines • Show All 43 Lines • ▼ Show 20 Lines | describe Puppet::Type.type(:keycloak_client) do | ||||
describe 'array properties' do | describe 'array properties' do | ||||
# Array properties | # Array properties | ||||
[ | [ | ||||
:default_client_scopes, | :default_client_scopes, | ||||
:optional_client_scopes, | :optional_client_scopes, | ||||
:redirect_uris, | :redirect_uris, | ||||
:web_origins, | :web_origins, | ||||
:roles, | |||||
].each do |p| | ].each do |p| | ||||
it "should accept array for #{p}" do | it "should accept array for #{p}" do | ||||
config[p] = ['foo', 'bar'] | config[p] = ['foo', 'bar'] | ||||
expect(resource[p]).to eq(['foo', 'bar']) | expect(resource[p]).to eq(['foo', 'bar']) | ||||
end | end | ||||
next unless defaults[p] | next unless defaults[p] | ||||
it "should have default for #{p}" do | it "should have default for #{p}" do | ||||
expect(resource[p]).to eq(defaults[p]) | expect(resource[p]).to eq(defaults[p]) | ||||
▲ Show 20 Lines • Show All 47 Lines • ▼ Show 20 Lines | it 'autorequires client_scope protocol mappers' do | ||||
keycloak_protocol_mapper = Puppet::Type.type(:keycloak_protocol_mapper).new(name: 'bar', realm: 'test', client_scope: 'foo') | keycloak_protocol_mapper = Puppet::Type.type(:keycloak_protocol_mapper).new(name: 'bar', realm: 'test', client_scope: 'foo') | ||||
catalog = Puppet::Resource::Catalog.new | catalog = Puppet::Resource::Catalog.new | ||||
catalog.add_resource resource | catalog.add_resource resource | ||||
catalog.add_resource keycloak_protocol_mapper | catalog.add_resource keycloak_protocol_mapper | ||||
rel = resource.autorequire[0] | rel = resource.autorequire[0] | ||||
expect(rel.source.ref).to eq(keycloak_protocol_mapper.ref) | expect(rel.source.ref).to eq(keycloak_protocol_mapper.ref) | ||||
expect(rel.target.ref).to eq(resource.ref) | expect(rel.target.ref).to eq(resource.ref) | ||||
end | end | ||||
it 'autorequires browser flow' do | |||||
config[:browser_flow] = 'foo' | |||||
flow = Puppet::Type.type(:keycloak_flow).new(name: 'foo', realm: 'test') | |||||
catalog = Puppet::Resource::Catalog.new | |||||
catalog.add_resource resource | |||||
catalog.add_resource flow | |||||
rel = resource.autorequire[0] | |||||
expect(rel.source.ref).to eq(flow.ref) | |||||
expect(rel.target.ref).to eq(resource.ref) | |||||
end | |||||
end | end |