Commit 63f5705
Changed files (4)
lib
saml
kit
builders
spec
saml
builders
lib/saml/kit/builders/logout_response.rb
@@ -14,10 +14,6 @@ module Saml
@status_code = Namespaces::SUCCESS
@sign = sign
@issuer = configuration.issuer
- provider = configuration.registry.metadata_for(@issuer)
- if provider
- @destination = provider.single_logout_service_for(binding: :http_post).try(:location)
- end
end
def to_xml
lib/saml/kit/trustable.rb
@@ -30,11 +30,7 @@ module Saml
end
def provider
- registry.metadata_for(issuer)
- end
-
- def registry
- Saml::Kit.configuration.registry
+ Saml::Kit.registry.metadata_for(issuer)
end
def signature_verified!
lib/saml/kit.rb
@@ -59,6 +59,10 @@ module Saml
def logger
configuration.logger
end
+
+ def registry
+ configuration.registry
+ end
end
end
end
spec/saml/builders/logout_response_spec.rb
@@ -7,18 +7,12 @@ RSpec.describe Saml::Kit::Builders::LogoutResponse do
let(:request) { Saml::Kit::Builders::LogoutRequest.new(user).build }
let(:issuer) { FFaker::Internet.http_url }
let(:destination) { FFaker::Internet.http_url }
- let(:registry) { double(:registry) }
- let(:provider) { double(:provider) }
- let(:binding) { double(:binding, location: destination) }
describe "#build" do
it 'builds a logout response' do
- allow(configuration).to receive(:registry).and_return(registry)
- allow(registry).to receive(:metadata_for).with(issuer).and_return(provider)
- allow(provider).to receive(:single_logout_service_for).and_return(binding)
-
travel_to 1.second.from_now
+ subject.destination = destination
result = subject.build
expect(result.id).to be_present
expect(result.issue_instant).to eql(Time.now.utc.iso8601)