Add some addtl methods.
[shibboleth/cpp-opensaml.git] / samltest / binding.h
index b412be8..fdbe990 100644 (file)
@@ -21,6 +21,7 @@
 #include <saml/binding/HTTPResponse.h>\r
 #include <saml/binding/MessageDecoder.h>\r
 #include <saml/binding/MessageEncoder.h>\r
+#include <saml/binding/SecurityPolicyRule.h>\r
 #include <saml/binding/URLEncoder.h>\r
 #include <saml/saml2/metadata/Metadata.h>\r
 #include <saml/saml2/metadata/MetadataProvider.h>\r
@@ -39,7 +40,8 @@ protected:
     map<string,string> m_headers;\r
     string m_method,m_url,m_query;\r
     vector<XSECCryptoX509*> m_clientCerts;\r
-    vector<const SecurityPolicyRule*> m_rules;\r
+    vector<const SecurityPolicyRule*> m_rules1;\r
+    vector<const SecurityPolicyRule*> m_rules2;\r
 \r
 public:\r
     void setUp() {\r
@@ -64,7 +66,7 @@ public:
             doc->getDocumentElement()->setAttributeNS(NULL,path.get(),file.get());\r
     \r
             m_metadata = SAMLConfig::getConfig().MetadataProviderManager.newPlugin(\r
-                FILESYSTEM_METADATA_PROVIDER,doc->getDocumentElement()\r
+                XML_METADATA_PROVIDER,doc->getDocumentElement()\r
                 );\r
             m_metadata->init();\r
 \r
@@ -78,9 +80,15 @@ public:
                 \r
             m_trust = XMLToolingConfig::getConfig().TrustEngineManager.newPlugin(EXPLICIT_KEY_TRUSTENGINE, NULL);\r
 \r
-            m_rules.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(MESSAGEFLOW_POLICY_RULE,NULL));\r
-            m_rules.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(SIMPLESIGNING_POLICY_RULE,NULL));\r
-            m_rules.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(XMLSIGNING_POLICY_RULE,NULL));\r
+            m_rules1.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(SAML1MESSAGE_POLICY_RULE,NULL));\r
+            m_rules1.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(MESSAGEFLOW_POLICY_RULE,NULL));\r
+            m_rules1.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(SIMPLESIGNING_POLICY_RULE,NULL));\r
+            m_rules1.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(XMLSIGNING_POLICY_RULE,NULL));\r
+\r
+            m_rules2.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(SAML2MESSAGE_POLICY_RULE,NULL));\r
+            m_rules2.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(MESSAGEFLOW_POLICY_RULE,NULL));\r
+            m_rules2.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(SIMPLESIGNING_POLICY_RULE,NULL));\r
+            m_rules2.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(XMLSIGNING_POLICY_RULE,NULL));\r
         }\r
         catch (XMLToolingException& ex) {\r
             TS_TRACE(ex.what());\r
@@ -91,8 +99,10 @@ public:
     }\r
     \r
     void tearDown() {\r
-        for_each(m_rules.begin(), m_rules.end(), xmltooling::cleanup<SecurityPolicyRule>());\r
-        m_rules.clear();\r
+        for_each(m_rules1.begin(), m_rules1.end(), xmltooling::cleanup<SecurityPolicyRule>());\r
+        m_rules1.clear();\r
+        for_each(m_rules2.begin(), m_rules2.end(), xmltooling::cleanup<SecurityPolicyRule>());\r
+        m_rules2.clear();\r
         delete m_creds;\r
         delete m_metadata;\r
         delete m_trust;\r
@@ -120,6 +130,14 @@ public:
         return true;\r
     }\r
 \r
+    const char* getHostname() const {\r
+        return "localhost";\r
+    }\r
+\r
+    int getPort() const {\r
+        return 443;\r
+    }\r
+\r
     string getContentType() const {\r
         return "application/x-www-form-urlencoded";\r
     }\r
@@ -128,6 +146,10 @@ public:
         return -1;\r
     }\r
 \r
+    const char* getRequestURI() const {\r
+        return "/";\r
+    }\r
+\r
     const char* getRequestURL() const {\r
         return m_url.c_str();\r
     }\r