Commit dda948e

mo <mo@mokhan.ca>
2018-02-14 22:43:42
do not duplicate the errors.
1 parent 8030342
Changed files (2)
lib/saml/kit/metadata.rb
@@ -223,19 +223,11 @@ module Saml
       def must_have_valid_signature
         return if to_xml.blank?
 
-        unless valid_signature?
-          errors[:base] << error_message(:invalid_signature)
+        document.valid?
+        document.errors.each do |attribute, message|
+          errors[attribute] << message
         end
       end
-
-      def valid_signature?
-        xml = document
-        result = xml.valid?
-        xml.errors.each do |error|
-          errors[:base] << error
-        end
-        result
-      end
     end
   end
 end
spec/saml/identity_provider_metadata_spec.rb
@@ -111,7 +111,9 @@ RSpec.describe Saml::Kit::IdentityProviderMetadata do
 
       subject = described_class.new(metadata_xml)
       expect(subject).to be_invalid
-      expect(subject.errors[:base]).to include("invalid signature.")
+      expect(subject.errors[:base]).to be_empty
+      expect(subject.errors[:digest_value]).to match_array(["is invalid"])
+      expect(subject.errors[:signature]).to match_array(["is invalid"])
     end
   end