Add clone before verifying to test for document attachment bug.
authorScott Cantor <cantor.2@osu.edu>
Wed, 18 Aug 2010 16:07:52 +0000 (16:07 +0000)
committerScott Cantor <cantor.2@osu.edu>
Wed, 18 Aug 2010 16:07:52 +0000 (16:07 +0000)
samltest/signature/SAML1ResponseTest.h

index f4a5bb1..4c4be02 100644 (file)
@@ -112,15 +112,17 @@ public:
         
         auto_ptr<XMLObject> response2(b->buildFromDocument(doc));
         assertEquals("Unmarshalled response does not match", expectedChildElementsDOM, response2.get(), false);
+
+        auto_ptr<Response> response3(dynamic_cast<Response*>(response2.get())->cloneResponse());
         
         try {
             opensaml::SignatureProfileValidator spv;
-            spv.validate(dynamic_cast<Response*>(response2.get())->getAssertions().front()->getSignature());
-            spv.validate(dynamic_cast<Response*>(response2.get())->getSignature());
+            spv.validate(dynamic_cast<Response*>(response3.get())->getAssertions().front()->getSignature());
+            spv.validate(dynamic_cast<Response*>(response3.get())->getSignature());
 
             SignatureValidator sv(cred);
-            sv.validate(dynamic_cast<Response*>(response2.get())->getAssertions().front()->getSignature());
-            sv.validate(dynamic_cast<Response*>(response2.get())->getSignature());
+            sv.validate(dynamic_cast<Response*>(response3.get())->getAssertions().front()->getSignature());
+            sv.validate(dynamic_cast<Response*>(response3.get())->getSignature());
         }
         catch (XMLToolingException& e) {
             TS_TRACE(e.what());