Commit 0dd0953

mo <mo@mokhan.ca>
2017-11-02 18:28:22
pass request to user model to choose what attributes to include.
1 parent 51ea36c
Changed files (2)
lib
saml
spec
lib/saml/kit/response.rb
@@ -75,7 +75,7 @@ module Saml
                 end
               end
               xml.AttributeStatement do
-                user.assertion_attributes.each do |key, value|
+                user.assertion_attributes_for(request).each do |key, value|
                   xml.Attribute Name: key, NameFormat: Namespaces::URI, FriendlyName: key do
                     xml.AttributeValue value.to_s
                   end
spec/saml/response_spec.rb
@@ -3,7 +3,7 @@ require 'spec_helper'
 RSpec.describe Saml::Kit::Response do
   describe "#acs_url" do
     let(:acs_url) { "https://#{FFaker::Internet.domain_name}/acs" }
-    let(:user) { double(:user, uuid: SecureRandom.uuid, assertion_attributes: { }) }
+    let(:user) { double(:user, uuid: SecureRandom.uuid, assertion_attributes_for: { }) }
     let(:request) { double(id: SecureRandom.uuid, acs_url: acs_url, issuer: FFaker::Movie.title) }
     subject { described_class::Builder.new(user, request).build }
 
@@ -14,7 +14,7 @@ RSpec.describe Saml::Kit::Response do
 
   describe "#to_xml" do
     subject { described_class::Builder.new(user, request) }
-    let(:user) { double(:user, uuid: SecureRandom.uuid, assertion_attributes: { email: email, created_at: Time.now.utc.iso8601 }) }
+    let(:user) { double(:user, uuid: SecureRandom.uuid, assertion_attributes_for: { email: email, created_at: Time.now.utc.iso8601 }) }
     let(:request) { double(id: SecureRandom.uuid, acs_url: acs_url, issuer: FFaker::Movie.title) }
     let(:acs_url) { "https://#{FFaker::Internet.domain_name}/acs" }
     let(:issuer) { FFaker::Movie.title }