Commit 11daf05

mokha <mokha@cisco.com>
2018-03-06 21:43:47
move build body to document classes.
1 parent 72c4c34
Changed files (2)
lib
saml
kit
lib/saml/kit/cli/report.rb
@@ -29,47 +29,15 @@ module Saml
 
         def build_body_for(document, table)
           case document
-          when Saml::Kit::AuthenticationRequest
-            table.push(['ACS', document.assertion_consumer_service_url])
-            table.push(['Name Id Format', document.name_id_format])
           when Saml::Kit::LogoutRequest
             table.push(['Name Id', document.name_id])
-          when Saml::Kit::Response
-            table.push(['Assertion Present?', document.assertion.present?])
-            table.push(['Issuer', document.assertion.issuer])
-            table.push(['Name Id', document.assertion.name_id])
-            table.push(['Signed?', document.assertion.signed?])
-            table.push(['Attributes', document.assertion.attributes.inspect])
-            table.push(['Not Before', document.assertion.started_at])
-            table.push(['Not After', document.assertion.expired_at])
-            table.push(['Audiences', document.assertion.audiences.inspect])
-            table.push(['Encrypted?', document.assertion.encrypted?])
-            table.push(['Decryptable', document.assertion.decryptable?])
-            if document.assertion.present?
-              signature = document.assertion.signature
-              table.push(['Digest Value', signature.digest_value])
-              table.push([
-                'Expected Digest Value', signature.expected_digest_value
-              ])
-              table.push(['Digest Method', signature.digest_method])
-              table.push([
-                'Signature Value', truncate(signature.signature_value)
-              ])
-              table.push(['Signature Method', signature.signature_method])
-              table.push([
-                'Canonicalization Method', signature.canonicalization_method
-              ])
-              table.push(['', signature.certificate.x509.to_text])
-            end
-            table
           end
         end
 
         def build_table_for(document)
           table = []
           document.build_header(table)
-          #document.build_body(table)
-          build_body_for(document, table)
+          document.build_body(table)
           table
         end
       end
lib/saml/kit/core_ext/document.rb
@@ -14,6 +14,31 @@ module Saml
       end
     end
 
+    class AuthenticationRequest
+      def build_body(table = [])
+        table.push(['ACS', assertion_consumer_service_url])
+        table.push(['Name Id Format', name_id_format])
+      end
+    end
+
+    class Response
+      def build_body(table = [])
+        table.push(['Assertion Present?', assertion.present?])
+        table.push(['Issuer', assertion.issuer])
+        table.push(['Name Id', assertion.name_id])
+        table.push(['Signed?', assertion.signed?])
+        table.push(['Attributes', assertion.attributes.inspect])
+        table.push(['Not Before', assertion.started_at])
+        table.push(['Not After', assertion.expired_at])
+        table.push(['Audiences', assertion.audiences.inspect])
+        table.push(['Encrypted?', assertion.encrypted?])
+        table.push(['Decryptable', assertion.decryptable?])
+        if assertion.present?
+          assertion.signature.build_header(table) if assertion.signature.present?
+        end
+      end
+    end
+
     class Metadata
       def build_header(table = [])
         table.push(['Entity Id', entity_id])
@@ -33,20 +58,19 @@ module Saml
         end
         signature.build_header(table) if signature.present?
       end
+
+      def build_body(table = [])
+      end
     end
 
     class Signature
       def build_header(table = [])
         table.push(['Digest Value', digest_value])
-        table.push([
-          'Expected Digest Value', expected_digest_value
-        ])
+        table.push(['Expected Digest Value', expected_digest_value])
         table.push(['Digest Method', digest_method])
         table.push(['Signature Value', truncate(signature_value)])
         table.push(['Signature Method', signature_method])
-        table.push([
-          'Canonicalization Method', canonicalization_method
-        ])
+        table.push(['Canonicalization Method', canonicalization_method])
         table.push(['', certificate.x509.to_text])
       end