Make sure to validate unmarshalled copy.
[shibboleth/cpp-opensaml.git] / samltest / signature / SAML1AssertionTest.h
index 2f5c7c5..ba26d9d 100644 (file)
@@ -85,13 +85,14 @@ public:
         DOMDocument* doc=XMLToolingConfig::getConfig().getParser().parse(in);\r
         const XMLObjectBuilder* b = XMLObjectBuilder::getBuilder(doc->getDocumentElement());\r
         \r
-        assertEquals(expectedChildElementsDOM, b->buildFromDocument(doc));\r
+        auto_ptr<XMLObject> assertion2(b->buildFromDocument(doc));\r
+        assertEquals("Unmarshalled assertion does not match", expectedChildElementsDOM, assertion2.get(), false);\r
         \r
         try {\r
             SignatureProfileValidator spv;\r
             SignatureValidator sv(new KeyResolver(m_resolver->getKey()));\r
-            spv.validate(assertion->getSignature());\r
-            sv.validate(assertion->getSignature());\r
+            spv.validate(dynamic_cast<Assertion*>(assertion2.get())->getSignature());\r
+            sv.validate(dynamic_cast<Assertion*>(assertion2.get())->getSignature());\r
         }\r
         catch (XMLToolingException& e) {\r
             TS_TRACE(e.what());\r