-/*\r
- * Copyright 2001-2006 Internet2\r
- * \r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-#include "internal.h"\r
-#include <saml/saml2/core/Assertions.h>\r
-#include <saml/util/SAMLConstants.h>\r
-\r
-using namespace opensaml::saml2;\r
-\r
-/*\r
- This tests building an element of type NameIDType with a non-SAML element name and namespace\r
- */\r
-\r
-class NameIDType20Test : public CxxTest::TestSuite, public SAMLObjectBaseTestCase {\r
- XMLCh* expectedNameQualifier; \r
- XMLCh* expectedSPNameQualifier; \r
- XMLCh* expectedFormat; \r
- XMLCh* expectedSPProvidedID; \r
- XMLCh* expectedContent; \r
-\r
- //TODO possibly move these up to SAMLObjectBaseTestCase, for use in optional helper methods below\r
- XMLCh* elementName;\r
- XMLCh* elementNS;\r
- XMLCh* elementPrefix;\r
- const XMLCh* typeName;\r
- const XMLCh* typeNS;\r
- const XMLCh* typePrefix;\r
-\r
-public:\r
- void setUp() {\r
- expectedNameQualifier = XMLString::transcode("nq"); \r
- expectedSPNameQualifier = XMLString::transcode("spnq"); \r
- expectedFormat = XMLString::transcode("format"); \r
- expectedSPProvidedID = XMLString::transcode("spID"); \r
- expectedContent = XMLString::transcode("someNameID"); \r
-\r
- elementName = XMLString::transcode("Foo");;\r
- elementNS = XMLString::transcode("http://www.example.org/test");\r
- elementPrefix = XMLString::transcode("test");;\r
- typeName = NameIDType::TYPE_NAME;\r
- typeNS = SAMLConstants::SAML20_NS;\r
- typePrefix = SAMLConstants::SAML20_PREFIX;\r
-\r
- singleElementFile = data_path + "saml2/core/impl/NameIDType.xml";\r
- singleElementOptionalAttributesFile = data_path + "saml2/core/impl/NameIDTypeOptionalAttributes.xml";\r
- SAMLObjectBaseTestCase::setUp();\r
- }\r
- \r
- void tearDown() {\r
- XMLString::release(&expectedNameQualifier);\r
- XMLString::release(&expectedSPNameQualifier);\r
- XMLString::release(&expectedFormat);\r
- XMLString::release(&expectedSPProvidedID);\r
- XMLString::release(&expectedContent);\r
- XMLString::release(&elementName);\r
- XMLString::release(&elementNS);\r
- XMLString::release(&elementPrefix);\r
- SAMLObjectBaseTestCase::tearDown();\r
- }\r
-\r
- //TODO possibly move this functionality up to SAMLObjectBaseTestCase, as optional helper method\r
- void checkNameAndType(XMLObject* xo) {\r
- assertEquals("Element name", elementName, xo->getElementQName().getLocalPart());\r
- assertEquals("Element namespace", elementNS, xo->getElementQName().getNamespaceURI());\r
- assertEquals("Element namespace prefix", elementPrefix, xo->getElementQName().getPrefix());\r
-\r
- assertEquals("Schema type name", typeName, xo->getSchemaType()->getLocalPart());\r
- assertEquals("Schema type namespace", typeNS, xo->getSchemaType()->getNamespaceURI());\r
- assertEquals("Schema type namespace prefix", typePrefix, xo->getSchemaType()->getPrefix());\r
- }\r
-\r
- //TODO possibly move this functionality up to SAMLObjectBaseTestCase, as optional helper method\r
- XMLObject * buildObject() {\r
- const XMLObjectBuilder* builder = XMLObjectBuilder::getBuilder(QName(typeNS,typeName));\r
- QName type(typeNS,typeName,typePrefix);\r
- return builder->buildObject(elementNS, elementName, elementPrefix, &type);\r
- }\r
-\r
- void testSingleElementUnmarshall() {\r
- auto_ptr<XMLObject> xo(unmarshallElement(singleElementFile));\r
- NameIDType* nameid = dynamic_cast<NameIDType*>(xo.get());\r
- TS_ASSERT(nameid!=NULL);\r
-\r
- checkNameAndType(nameid);\r
-\r
- assertEquals("Element content", expectedContent, nameid->getName());\r
- }\r
-\r
- void testSingleElementOptionalAttributesUnmarshall() {\r
- auto_ptr<XMLObject> xo(unmarshallElement(singleElementOptionalAttributesFile));\r
- NameIDType* nameid = dynamic_cast<NameIDType*>(xo.get());\r
- TS_ASSERT(nameid!=NULL);\r
-\r
- checkNameAndType(nameid);\r
-\r
- assertEquals("NameQualifier attribute", expectedNameQualifier, nameid->getNameQualifier());\r
- assertEquals("SPNameQualifier attribute", expectedSPNameQualifier, nameid->getSPNameQualifier());\r
- assertEquals("Format attribute", expectedFormat, nameid->getFormat());\r
- assertEquals("SPProvidedID attribute", expectedSPProvidedID, nameid->getSPProvidedID());\r
- assertEquals("Element content", expectedContent, nameid->getName());\r
- }\r
-\r
-\r
- void testSingleElementMarshall() {\r
- NameIDType* nameid = dynamic_cast<NameIDType*>(buildObject());\r
- TS_ASSERT(nameid!=NULL);\r
- checkNameAndType(nameid);\r
-\r
- nameid->setName(expectedContent);\r
- assertEquals(expectedDOM, nameid);\r
- }\r
-\r
- void testSingleElementOptionalAttributesMarshall() {\r
- NameIDType* nameid = dynamic_cast<NameIDType*>(buildObject());\r
- TS_ASSERT(nameid!=NULL);\r
- checkNameAndType(nameid);\r
-\r
- nameid->setNameQualifier(expectedNameQualifier);\r
- nameid->setSPNameQualifier(expectedSPNameQualifier);\r
- nameid->setFormat(expectedFormat);\r
- nameid->setSPProvidedID(expectedSPProvidedID);\r
- nameid->setName(expectedContent);\r
- assertEquals(expectedOptionalAttributesDOM, nameid);\r
- }\r
-\r
-};\r
+/*
+ * Copyright 2001-2006 Internet2
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "internal.h"
+#include <saml/saml2/core/Assertions.h>
+#include <saml/util/SAMLConstants.h>
+
+using namespace opensaml::saml2;
+
+/*
+ This tests building an element of type NameIDType with a non-SAML element name and namespace
+ */
+
+class NameIDType20Test : public CxxTest::TestSuite, public SAMLObjectBaseTestCase {
+ XMLCh* expectedNameQualifier;
+ XMLCh* expectedSPNameQualifier;
+ XMLCh* expectedFormat;
+ XMLCh* expectedSPProvidedID;
+ XMLCh* expectedContent;
+
+ //TODO possibly move these up to SAMLObjectBaseTestCase, for use in optional helper methods below
+ XMLCh* elementName;
+ XMLCh* elementNS;
+ XMLCh* elementPrefix;
+ const XMLCh* typeName;
+ const XMLCh* typeNS;
+ const XMLCh* typePrefix;
+
+public:
+ void setUp() {
+ expectedNameQualifier = XMLString::transcode("nq");
+ expectedSPNameQualifier = XMLString::transcode("spnq");
+ expectedFormat = XMLString::transcode("format");
+ expectedSPProvidedID = XMLString::transcode("spID");
+ expectedContent = XMLString::transcode("someNameID");
+
+ elementName = XMLString::transcode("Foo");;
+ elementNS = XMLString::transcode("http://www.example.org/test");
+ elementPrefix = XMLString::transcode("test");;
+ typeName = NameIDType::TYPE_NAME;
+ typeNS = SAMLConstants::SAML20_NS;
+ typePrefix = SAMLConstants::SAML20_PREFIX;
+
+ singleElementFile = data_path + "saml2/core/impl/NameIDType.xml";
+ singleElementOptionalAttributesFile = data_path + "saml2/core/impl/NameIDTypeOptionalAttributes.xml";
+ SAMLObjectBaseTestCase::setUp();
+ }
+
+ void tearDown() {
+ XMLString::release(&expectedNameQualifier);
+ XMLString::release(&expectedSPNameQualifier);
+ XMLString::release(&expectedFormat);
+ XMLString::release(&expectedSPProvidedID);
+ XMLString::release(&expectedContent);
+ XMLString::release(&elementName);
+ XMLString::release(&elementNS);
+ XMLString::release(&elementPrefix);
+ SAMLObjectBaseTestCase::tearDown();
+ }
+
+ //TODO possibly move this functionality up to SAMLObjectBaseTestCase, as optional helper method
+ void checkNameAndType(XMLObject* xo) {
+ assertEquals("Element name", elementName, xo->getElementQName().getLocalPart());
+ assertEquals("Element namespace", elementNS, xo->getElementQName().getNamespaceURI());
+ assertEquals("Element namespace prefix", elementPrefix, xo->getElementQName().getPrefix());
+
+ assertEquals("Schema type name", typeName, xo->getSchemaType()->getLocalPart());
+ assertEquals("Schema type namespace", typeNS, xo->getSchemaType()->getNamespaceURI());
+ assertEquals("Schema type namespace prefix", typePrefix, xo->getSchemaType()->getPrefix());
+ }
+
+ //TODO possibly move this functionality up to SAMLObjectBaseTestCase, as optional helper method
+ XMLObject * buildObject() {
+ const XMLObjectBuilder* builder = XMLObjectBuilder::getBuilder(QName(typeNS,typeName));
+ QName type(typeNS,typeName,typePrefix);
+ return builder->buildObject(elementNS, elementName, elementPrefix, &type);
+ }
+
+ void testSingleElementUnmarshall() {
+ auto_ptr<XMLObject> xo(unmarshallElement(singleElementFile));
+ NameIDType* nameid = dynamic_cast<NameIDType*>(xo.get());
+ TS_ASSERT(nameid!=NULL);
+
+ checkNameAndType(nameid);
+
+ assertEquals("Element content", expectedContent, nameid->getName());
+ }
+
+ void testSingleElementOptionalAttributesUnmarshall() {
+ auto_ptr<XMLObject> xo(unmarshallElement(singleElementOptionalAttributesFile));
+ NameIDType* nameid = dynamic_cast<NameIDType*>(xo.get());
+ TS_ASSERT(nameid!=NULL);
+
+ checkNameAndType(nameid);
+
+ assertEquals("NameQualifier attribute", expectedNameQualifier, nameid->getNameQualifier());
+ assertEquals("SPNameQualifier attribute", expectedSPNameQualifier, nameid->getSPNameQualifier());
+ assertEquals("Format attribute", expectedFormat, nameid->getFormat());
+ assertEquals("SPProvidedID attribute", expectedSPProvidedID, nameid->getSPProvidedID());
+ assertEquals("Element content", expectedContent, nameid->getName());
+ }
+
+
+ void testSingleElementMarshall() {
+ NameIDType* nameid = dynamic_cast<NameIDType*>(buildObject());
+ TS_ASSERT(nameid!=NULL);
+ checkNameAndType(nameid);
+
+ nameid->setName(expectedContent);
+ assertEquals(expectedDOM, nameid);
+ }
+
+ void testSingleElementOptionalAttributesMarshall() {
+ NameIDType* nameid = dynamic_cast<NameIDType*>(buildObject());
+ TS_ASSERT(nameid!=NULL);
+ checkNameAndType(nameid);
+
+ nameid->setNameQualifier(expectedNameQualifier);
+ nameid->setSPNameQualifier(expectedSPNameQualifier);
+ nameid->setFormat(expectedFormat);
+ nameid->setSPProvidedID(expectedSPProvidedID);
+ nameid->setName(expectedContent);
+ assertEquals(expectedOptionalAttributesDOM, nameid);
+ }
+
+};