Commit 751921e

mo <mo@mokhan.ca>
2017-11-18 03:02:56
update failing spec to find destination.
1 parent ec0f941
Changed files (2)
proof
app
saml-kit
proof/app/controllers/sessions_controller.rb
@@ -34,8 +34,8 @@ class SessionsController < ApplicationController
   end
 
   def load_saml_request(raw_saml_request = session[:SAMLRequest] || params[:SAMLRequest])
-    @saml_request = binding_for(request).deserialize(params)
-    #@saml_request = Saml::Kit::Request.deserialize(raw_saml_request)
+    saml_binding = binding_for(request)
+    @saml_request = saml_binding.deserialize(params)
     if @saml_request.invalid?
       render_error(:forbidden, model: @saml_request)
     end
saml-kit/spec/saml/logout_response_spec.rb
@@ -7,9 +7,17 @@ RSpec.describe Saml::Kit::LogoutResponse do
     let(:user) { double(:user, name_id_for: SecureRandom.uuid) }
     let(:request) { Saml::Kit::LogoutRequest::Builder.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(:registery).and_return(registry)
+        allow(registry).to receive(:metadata_for).with(issuer).and_return(provider)
+        allow(registry).to receive(:single_logout_service_for).and_return(binding)
+
         travel_to 1.second.from_now
 
         result = subject.build
@@ -19,7 +27,7 @@ RSpec.describe Saml::Kit::LogoutResponse do
         expect(result.issuer).to eql(issuer)
         expect(result.status_code).to eql(Saml::Kit::Namespaces::SUCCESS)
         expect(result.in_response_to).to eql(request.id)
-        expect(result.destination).to be_present
+        expect(result.destination).to eql(destination)
       end
     end
   end