#include <fstream>\r
#include <xmltooling/signature/KeyInfo.h>\r
\r
+using namespace xmlsignature;\r
+\r
class KeyInfoTest : public CxxTest::TestSuite {\r
public:\r
KeyInfoTest() {}\r
}\r
\r
void testKeyInfo1() {\r
- TS_TRACE("testKeyInfo1");\r
-\r
string path=data_path + "KeyInfo1.xml";\r
ifstream fs(path.c_str());\r
- DOMDocument* doc=validatingPool->parse(fs);\r
+ DOMDocument* doc=XMLToolingConfig::getConfig().getValidatingParser().parse(fs);\r
TS_ASSERT(doc!=NULL);\r
\r
const XMLObjectBuilder* b = XMLObjectBuilder::getBuilder(doc->getDocumentElement());\r
TS_ASSERT(b!=NULL);\r
\r
- auto_ptr<KeyInfo> kiObject(\r
- dynamic_cast<KeyInfo*>(b->buildFromDocument(doc))\r
- );\r
+ auto_ptr<KeyInfo> kiObject(dynamic_cast<KeyInfo*>(b->buildFromDocument(doc)));\r
TS_ASSERT(kiObject.get()!=NULL);\r
TSM_ASSERT_EQUALS("Number of child elements was not expected value",\r
3, kiObject->getOrderedChildren().size());\r
1, kiObject->getX509Datas().front()->getX509Certificates().size());\r
\r
auto_ptr_XMLCh expected("Public Key for CN=xmldap.org, OU=Domain Control Validated, O=xmldap.org");\r
- TSM_ASSERT_SAME_DATA("KeyName was not expected value",\r
- expected.get(), kiObject->getKeyNames().front()->getName(), XMLString::stringLen(expected.get()));\r
+ TSM_ASSERT("KeyName was not expected value", XMLString::equals(expected.get(), kiObject->getKeyNames().front()->getName()));\r
+\r
+ KeyInfoSchemaValidators.validate(kiObject.get());\r
+ }\r
+\r
+ void testKeyInfo2() {\r
+ string path=data_path + "KeyInfo2.xml";\r
+ ifstream fs(path.c_str());\r
+ DOMDocument* doc=XMLToolingConfig::getConfig().getValidatingParser().parse(fs);\r
+ TS_ASSERT(doc!=NULL);\r
+\r
+ const XMLObjectBuilder* b = XMLObjectBuilder::getBuilder(doc->getDocumentElement());\r
+ TS_ASSERT(b!=NULL);\r
+\r
+ auto_ptr<KeyInfo> kiObject(dynamic_cast<KeyInfo*>(b->buildFromDocument(doc)));\r
+ TS_ASSERT(kiObject.get()!=NULL);\r
+ TSM_ASSERT_EQUALS("Number of child elements was not expected value",\r
+ 2, kiObject->getOrderedChildren().size());\r
+ TSM_ASSERT_EQUALS("Number of child elements was not expected value",\r
+ 1, kiObject->getRetrievalMethods().size());\r
+ TSM_ASSERT_EQUALS("Number of child elements was not expected value",\r
+ 2, kiObject->getSPKIDatas().front()->getSPKISexps().size());\r
+\r
+ KeyInfoSchemaValidators.validate(kiObject.get());\r
}\r
\r
+ void testKeyInfo3() {\r
+ string path=data_path + "KeyInfo3.xml";\r
+ ifstream fs(path.c_str());\r
+ DOMDocument* doc=XMLToolingConfig::getConfig().getParser().parse(fs);\r
+ TS_ASSERT(doc!=NULL);\r
+\r
+ const XMLObjectBuilder* b = XMLObjectBuilder::getBuilder(doc->getDocumentElement());\r
+ TS_ASSERT(b!=NULL);\r
+\r
+ auto_ptr<KeyInfo> kiObject(dynamic_cast<KeyInfo*>(b->buildFromDocument(doc)));\r
+ TS_ASSERT(kiObject.get()!=NULL);\r
+ TS_ASSERT_THROWS(KeyInfoSchemaValidators.validate(kiObject.get()),ValidationException);\r
+ }\r
};\r