1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott/*
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott * The contents of this file are subject to the terms of the Common Development and
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott * Distribution License (the License). You may not use this file except in compliance with the
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott * License.
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott *
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott * specific language governing permission and limitations under the License.
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott *
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott * When distributing Covered Software, include this CDDL Header Notice in each file and include
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott * Header, with the fields enclosed by brackets [] replaced by your own identifying
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott * information: "Portions copyright [year] [name of copyright owner]".
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott *
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott * Copyright 2015 ForgeRock AS.
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott */
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshottpackage com.iplanet.dpro.session;
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshottimport static org.assertj.core.api.Assertions.*;
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshottimport org.testng.annotations.Test;
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshottimport java.io.IOException;
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshottpublic class LegacySessionIDExtensionsTest {
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott @Test
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott public void shouldDecodeKnownExtensionString() throws IOException {
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott String knownExtensions = "AAJTSQACMDQAAlNLABQtMzIwMjM3MzE1Mzg1MjM4MTQ3MAACUzEAAjAx";
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott LegacySessionIDExtensions result = new LegacySessionIDExtensions(knownExtensions);
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott assertThat(result.getPrimaryID()).isEqualTo("01");
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott assertThat(result.getSiteID()).isEqualTo("04");
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott }
997d6667b8c483bf582a231b1b24f84fbe6c8390Neil Madden
997d6667b8c483bf582a231b1b24f84fbe6c8390Neil Madden @Test
997d6667b8c483bf582a231b1b24f84fbe6c8390Neil Madden public void shouldAllowNullStorageKey() throws Exception {
997d6667b8c483bf582a231b1b24f84fbe6c8390Neil Madden String primary = "primary";
997d6667b8c483bf582a231b1b24f84fbe6c8390Neil Madden String site = "site";
997d6667b8c483bf582a231b1b24f84fbe6c8390Neil Madden LegacySessionIDExtensions result = new LegacySessionIDExtensions(primary, site, null);
997d6667b8c483bf582a231b1b24f84fbe6c8390Neil Madden assertThat(result.getStorageKey()).isNull();
997d6667b8c483bf582a231b1b24f84fbe6c8390Neil Madden }
1d407e39b7d8f68d9a2b1e178f35fab037d9835aRobert Wapshott}