Commit 542ce4e
Changed files (2)
lib
saml
spec
lib/saml/kit/logout_response.rb
@@ -42,6 +42,10 @@ module Saml
@xml_hash
end
+ def serialize
+ Saml::Kit::Content.encode_raw_saml(to_xml)
+ end
+
def to_xml
content
end
spec/saml/logout_response_spec.rb
@@ -23,4 +23,18 @@ RSpec.describe Saml::Kit::LogoutResponse do
end
end
end
+
+ describe "#serialize" do
+ let(:user) { double(:user, name_id_for: SecureRandom.uuid, assertion_attributes_for: { }) }
+ let(:request) { double(id: SecureRandom.uuid, acs_url: acs_url, issuer: issuer, name_id_format: Saml::Kit::Namespaces::PERSISTENT, provider: nil) }
+ let(:acs_url) { FFaker::Internet.http_url }
+ let(:issuer) { FFaker::Internet.http_url }
+ let(:builder) { described_class::Builder.new(user, request) }
+ subject { builder.build }
+
+ it 'returns a compressed and base64 encoded document' do
+ expected_value = Base64.encode64(Zlib::Deflate.deflate(subject.to_xml, 9)).gsub(/\n/, '')
+ expect(subject.serialize).to eql(expected_value)
+ end
+ end
end