SAML 2.0 Core Assertion namespace unit tests.
[shibboleth/cpp-opensaml.git] / samltest / saml2 / core / impl / Issuer20Test.h
1 /*\r
2  *  Copyright 2001-2006 Internet2\r
3  * \r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 #include "internal.h"\r
18 #include <saml/saml2/core/Assertions.h>\r
19 #include <saml/util/SAMLConstants.h>\r
20 \r
21 using namespace opensaml::saml2;\r
22 \r
23 class Issuer20Test : public CxxTest::TestSuite, public SAMLObjectBaseTestCase {\r
24     XMLCh* expectedNameQualifier; \r
25     XMLCh* expectedSPNameQualifier; \r
26     XMLCh* expectedFormat; \r
27     XMLCh* expectedSPProvidedID; \r
28     XMLCh* expectedContent; \r
29 \r
30 public:\r
31     void setUp() {\r
32         expectedNameQualifier = XMLString::transcode("nq"); \r
33         expectedSPNameQualifier = XMLString::transcode("spnq"); \r
34         expectedFormat = XMLString::transcode("format"); \r
35         expectedSPProvidedID = XMLString::transcode("spID"); \r
36         expectedContent = XMLString::transcode("someIssuer"); \r
37 \r
38         singleElementFile = data_path + "saml2/core/impl/Issuer.xml";\r
39         singleElementOptionalAttributesFile = data_path + "saml2/core/impl/IssuerOptionalAttributes.xml";\r
40         SAMLObjectBaseTestCase::setUp();\r
41     }\r
42     \r
43     void tearDown() {\r
44         XMLString::release(&expectedNameQualifier);\r
45         XMLString::release(&expectedSPNameQualifier);\r
46         XMLString::release(&expectedFormat);\r
47         XMLString::release(&expectedSPProvidedID);\r
48         XMLString::release(&expectedContent);\r
49         SAMLObjectBaseTestCase::tearDown();\r
50     }\r
51 \r
52     void testSingleElementUnmarshall() {\r
53         auto_ptr<XMLObject> xo(unmarshallElement(singleElementFile));\r
54         Issuer* issuer = dynamic_cast<Issuer*>(xo.get());\r
55         TS_ASSERT(issuer!=NULL);\r
56 \r
57         assertEquals("Element content", expectedContent, issuer->getName());\r
58     }\r
59 \r
60     void testSingleElementOptionalAttributesUnmarshall() {\r
61         auto_ptr<XMLObject> xo(unmarshallElement(singleElementOptionalAttributesFile));\r
62         Issuer* issuer = dynamic_cast<Issuer*>(xo.get());\r
63         TS_ASSERT(issuer!=NULL);\r
64 \r
65         assertEquals("NameQualifier attribute", expectedNameQualifier, issuer->getNameQualifier());\r
66         assertEquals("SPNameQualifier attribute", expectedSPNameQualifier, issuer->getSPNameQualifier());\r
67         assertEquals("Format attribute", expectedFormat, issuer->getFormat());\r
68         assertEquals("SPProvidedID attribute", expectedSPProvidedID, issuer->getSPProvidedID());\r
69         assertEquals("Element content", expectedContent, issuer->getName());\r
70     }\r
71 \r
72 \r
73     void testSingleElementMarshall() {\r
74         Issuer* issuer = IssuerBuilder::buildIssuer();\r
75         TS_ASSERT(issuer!=NULL);\r
76 \r
77         issuer->setName(expectedContent);\r
78         assertEquals(expectedDOM, issuer);\r
79     }\r
80 \r
81     void testSingleElementOptionalAttributesMarshall() {\r
82         Issuer* issuer = IssuerBuilder::buildIssuer();\r
83         TS_ASSERT(issuer!=NULL);\r
84 \r
85         issuer->setNameQualifier(expectedNameQualifier);\r
86         issuer->setSPNameQualifier(expectedSPNameQualifier);\r
87         issuer->setFormat(expectedFormat);\r
88         issuer->setSPProvidedID(expectedSPProvidedID);\r
89         issuer->setName(expectedContent);\r
90         assertEquals(expectedOptionalAttributesDOM, issuer);\r
91     }\r
92 \r
93 };\r