Commit 1aa8285

mokha <mokha@cisco.com>
2018-03-06 22:04:04
add spec for logout response and invalid document.
1 parent 5546d36
Changed files (2)
lib
saml
kit
core_ext
spec
saml
kit
cli
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
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