From 1aa8285fffe65d32269d918a962f7fbe35b95948 Mon Sep 17 00:00:00 2001 From: mokha Date: Tue, 6 Mar 2018 15:04:04 -0700 Subject: add spec for logout response and invalid document. --- lib/saml/kit/core_ext/document.rb | 3 +++ spec/saml/kit/cli/commands/decode_spec.rb | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/lib/saml/kit/core_ext/document.rb b/lib/saml/kit/core_ext/document.rb index e354467..b297e51 100644 --- a/lib/saml/kit/core_ext/document.rb +++ b/lib/saml/kit/core_ext/document.rb @@ -12,6 +12,9 @@ module Saml table.push(['Trusted?', trusted?]) signature.build_header(table) if signature.present? end + + def build_body(table = []) + end end class AuthenticationRequest diff --git a/spec/saml/kit/cli/commands/decode_spec.rb b/spec/saml/kit/cli/commands/decode_spec.rb index 8718f78..d1a33e6 100644 --- a/spec/saml/kit/cli/commands/decode_spec.rb +++ b/spec/saml/kit/cli/commands/decode_spec.rb @@ -49,6 +49,24 @@ RSpec.describe Saml::Kit::Cli::Commands::Decode do specify { expect(output).to include("Decoded #{document.send(:name)}") } specify { expect(output).to include(user.name_id_for) } end + + context "when the document is a LogoutResponse" do + let(:command) { "decode post #{post_binding.serialize(builder)[1]['SAMLResponse']}" } + let(:builder) { Saml::Kit::LogoutResponse.builder(request) } + let(:request) { double(id: Xml::Kit::Id.generate) } + let(:document) { builder.build } + + specify { expect(status).to be_success } + specify { expect(output).to include(document.to_xml(pretty: true)) } + specify { expect(output).to include("Decoded #{document.send(:name)}") } + end + + context "when the document is Invalid" do + let(:command) { "decode post #{Base64.encode64('INVALID')}" } + + specify { expect(status).to be_success } + specify { expect(output).to include("error Decoded InvalidDocument") } + end end describe '#raw' do -- cgit v1.2.3