Convert from NULL macro to nullptr, remove unused zlib code.
[shibboleth/cpp-opensaml.git] / samltest / saml2 / core / impl / SubjectLocality20Test.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 SubjectLocality20Test : public CxxTest::TestSuite, public SAMLObjectBaseTestCase {
24     XMLCh* expectedAddress; 
25     XMLCh* expectedDNSName; 
26
27 public:
28     void setUp() {
29         expectedAddress = XMLString::transcode("10.1.2.3");; 
30         expectedDNSName = XMLString::transcode("client.example.org"); 
31
32         singleElementFile = data_path + "saml2/core/impl/SubjectLocality.xml";
33         singleElementOptionalAttributesFile = data_path + "saml2/core/impl/SubjectLocalityOptionalAttributes.xml";
34         SAMLObjectBaseTestCase::setUp();
35     }
36     
37     void tearDown() {
38         XMLString::release(&expectedAddress);
39         XMLString::release(&expectedDNSName);
40         SAMLObjectBaseTestCase::tearDown();
41     }
42
43     void testSingleElementUnmarshall() {
44         auto_ptr<XMLObject> xo(unmarshallElement(singleElementFile));
45         SubjectLocality* sl = dynamic_cast<SubjectLocality*>(xo.get());
46         TS_ASSERT(sl!=nullptr);
47     }
48
49     void testSingleElementOptionalAttributesUnmarshall() {
50         auto_ptr<XMLObject> xo(unmarshallElement(singleElementOptionalAttributesFile));
51         SubjectLocality* sl = dynamic_cast<SubjectLocality*>(xo.get());
52         TS_ASSERT(sl!=nullptr);
53         assertEquals("Address attribute", expectedAddress, sl->getAddress());
54         assertEquals("DNSName attribute", expectedDNSName, sl->getDNSName());
55     }
56
57     void testSingleElementMarshall() {
58         SubjectLocality* sl=SubjectLocalityBuilder::buildSubjectLocality();
59         assertEquals(expectedDOM, sl);
60     }
61
62     void testSingleElementOptionalAttributesMarshall() {
63         SubjectLocality* sl=SubjectLocalityBuilder::buildSubjectLocality();
64         sl->setAddress(expectedAddress);
65         sl->setDNSName(expectedDNSName);
66         assertEquals(expectedOptionalAttributesDOM, sl);
67     }
68
69 };