Moved ReplayCache into xmltooling
[shibboleth/cpp-opensaml.git] / samltest / internal.h
index a49c55f..1cfe28f 100644 (file)
 
 #include <fstream>
 #include <saml/exceptions.h>
-#include <saml/SAMLConfig.h>
 #include <saml/util/SAMLConstants.h>
-#include <xmltooling/exceptions.h>
-#include <xmltooling/validation/Validator.h>
 #include <xmltooling/XMLObject.h>
 #include <xmltooling/XMLObjectBuilder.h>
+#include <xmltooling/XMLToolingConfig.h>
+#include <xmltooling/validation/Validator.h>
 
 using namespace opensaml;
 using namespace xmltooling;
@@ -72,8 +71,16 @@ protected:
         }
     }
 
-    void assertEquals(const char* failMessage, DOMDocument* expectedDOM, XMLObject* xmlObject) {
-        DOMElement* generatedDOM = xmlObject->marshall();
+    void assertEquals(const char* failMessage, DOMDocument* expectedDOM, XMLObject* xmlObject, bool canMarshall=true) {
+        DOMElement* generatedDOM = xmlObject->getDOM();
+        if (!generatedDOM) {
+            if (!canMarshall) {
+                TSM_ASSERT("DOM not available", false);
+            }
+            else {
+                generatedDOM = xmlObject->marshall();
+            }
+        }
         if (!generatedDOM->isEqualNode(expectedDOM->getDocumentElement())) {
             string buf;
             XMLHelper::serialize(generatedDOM, buf);
@@ -85,8 +92,8 @@ protected:
         }
     }
 
-    void assertEquals(DOMDocument* expectedDOM, XMLObject* xmlObject) {
-        assertEquals("Marshalled DOM was not the same as the expected DOM", expectedDOM, xmlObject);
+    void assertEquals(DOMDocument* expectedDOM, XMLObject* xmlObject, bool canMarshall=true) {
+        assertEquals("Marshalled DOM was not the same as the expected DOM", expectedDOM, xmlObject, canMarshall);
         delete xmlObject;
     }
 
@@ -94,10 +101,10 @@ protected:
         char* buf = NULL;
         if (!XMLString::equals(expectedString, testString)) {
             buf = XMLString::transcode(testString);
-            TS_TRACE(buf);
+            TS_TRACE(buf ? buf : "(NULL)");
             XMLString::release(&buf);
             buf = XMLString::transcode(expectedString);
-            TS_TRACE(buf);
+            TS_TRACE(buf ? buf : "(NULL)");
             XMLString::release(&buf);
             TSM_ASSERT(failMessage, false);
         }
@@ -203,7 +210,7 @@ class SAMLObjectValidatorBaseTestCase : virtual public SAMLObjectBaseTestCase {
                 validator->validate(validateTarget);
                 TS_TRACE(message);
                 TS_FAIL("Validation success, expected failure to raise ValidationException");
-            } catch (ValidationException &e) {
+            } catch (ValidationException&) {
             }
         }