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