Update gitignore to account for subdirs / missing files.
[shibboleth/cpp-opensaml.git] / samltest / SAMLArtifactType0001Test.h
1 /**
2  * Licensed to the University Corporation for Advanced Internet
3  * Development, Inc. (UCAID) under one or more contributor license
4  * agreements. See the NOTICE file distributed with this work for
5  * additional information regarding copyright ownership.
6  *
7  * UCAID licenses this file to you under the Apache License,
8  * Version 2.0 (the "License"); you may not use this file except
9  * in compliance with the License. You may obtain a copy of the
10  * License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
17  * either express or implied. See the License for the specific
18  * language governing permissions and limitations under the License.
19  */
20
21 #include "internal.h"
22 #include <saml/SAMLConfig.h>
23 #include <saml/saml1/binding/SAMLArtifactType0001.h>
24 #include <xmltooling/security/SecurityHelper.h>
25
26 using namespace opensaml::saml1p;
27 using namespace opensaml;
28 using namespace std;
29
30 class SAMLArtifactType0001Test : public CxxTest::TestSuite
31 {
32 public:
33     string providerIdStr;
34
35     void setUp() {
36         providerIdStr = "https://idp.org/SAML";
37     }
38     
39     void testSAMLArtifactType0001(void) {
40         string sourceId = SecurityHelper::doHash("SHA1", providerIdStr.data(), providerIdStr.length(), false);
41         auto_ptr<SAMLArtifactType0001> artifact(new SAMLArtifactType0001(sourceId));
42         auto_ptr<SAMLArtifact> tempArtifact(SAMLArtifact::parse(artifact->encode().c_str()));
43         
44         TS_ASSERT_EQUALS(artifact->getSource(),tempArtifact->getSource());
45         TS_ASSERT_EQUALS(artifact->getMessageHandle(),tempArtifact->getMessageHandle());
46         
47         TS_ASSERT_THROWS(auto_ptr<SAMLArtifact> bogus1(new SAMLArtifactType0001(sourceId + sourceId)), ArtifactException);
48         TS_ASSERT_THROWS(auto_ptr<SAMLArtifact> bogus2(new SAMLArtifactType0001(sourceId, artifact->getMessageHandle() + artifact->getMessageHandle())), ArtifactException);
49     }
50 };