SessionServerConfigTest.java revision 35ab1c5bca11317474fe12bdd8d22c17cdaf2697
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsyncpackage com.iplanet.dpro.session.service;
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
0120c35c41a827e23a6e04fbd59299a187e0b22cvboxsyncimport static org.fest.assertions.Assertions.assertThat;
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsyncimport static org.mockito.BDDMockito.given;
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsyncimport static org.mockito.Mockito.mock;
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsyncimport com.iplanet.am.util.SystemProperties;
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsyncimport com.iplanet.services.naming.WebtopNaming;
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsyncimport com.sun.identity.shared.Constants;
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsyncimport com.sun.identity.shared.debug.Debug;
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsyncimport org.forgerock.openam.session.SessionMeta;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncimport org.forgerock.openam.session.SessionServiceURLService;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncimport org.powermock.api.mockito.PowerMockito;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncimport org.powermock.core.classloader.annotations.PrepareForTest;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncimport org.powermock.modules.testng.PowerMockTestCase;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncimport org.testng.annotations.Test;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncimport java.net.URL;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncimport java.util.Collections;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync@PrepareForTest({ SystemProperties.class, WebtopNaming.class })
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncpublic class SessionServerConfigTest extends PowerMockTestCase {
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync @Test
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync public void localServerIsPrimaryServerIfNoSiteSetup() throws Exception {
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync // Given
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync SessionServiceURLService sessionServiceURLService = mock(SessionServiceURLService.class);
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync PowerMockito.mockStatic(SystemProperties.class);
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(SystemProperties.get(Constants.AM_SERVER_PROTOCOL)).willReturn("http");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(SystemProperties.get(Constants.AM_SERVER_HOST)).willReturn("openam.example.com");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(SystemProperties.get(Constants.AM_SERVER_PORT)).willReturn("8080");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(SystemProperties.get(Constants.AM_SERVICES_DEPLOYMENT_DESCRIPTOR)).willReturn("/openam");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync PowerMockito.mockStatic(WebtopNaming.class);
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(WebtopNaming.getServerID("http", "openam.example.com", "8080", "/openam")).willReturn("01");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(WebtopNaming.isSiteEnabled("http", "openam.example.com", "8080", "/openam")).willReturn(false);
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(WebtopNaming.getServerFromID("01")).willReturn("http://openam.example.com:8080/openam");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync PowerMockito.mockStatic(SessionMeta.class);
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(sessionServiceURLService.getSessionServiceURL("http", "openam.example.com", "8080", "/openam"))
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync .willReturn(new URL("http://openam.example.com:8080/openam/sessionservice"));
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync // When
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync SessionServerConfig config = new SessionServerConfig(mock(Debug.class), sessionServiceURLService);
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync // Then
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync assertThat(config.getPrimaryServerID()).isEqualTo("01");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync assertThat(config.getPrimaryServerURL()).isEqualTo(new URL("http://openam.example.com:8080/openam"));
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync assertThat(config.getLocalServerID()).isEqualTo("01");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync assertThat(config.getLocalServerURL().toString()).isEqualTo("http://openam.example.com:8080/openam");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync assertThat(config.isSiteEnabled()).isEqualTo(false);
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync assertThat(config.getSecondarySiteIDs()).isEqualTo(Collections.emptySet());
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync assertThat(config.getLocalServerSessionServiceURL())
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync .isEqualTo(new URL("http://openam.example.com:8080/openam/sessionservice"));
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync }
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync @Test
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync public void localServerAndPrimaryServerDifferIfSiteSetup() throws Exception {
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
0120c35c41a827e23a6e04fbd59299a187e0b22cvboxsync // Given
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync SessionServiceURLService sessionServiceURLService = mock(SessionServiceURLService.class);
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync PowerMockito.mockStatic(SystemProperties.class);
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(SystemProperties.get(Constants.AM_SERVER_PROTOCOL)).willReturn("http");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(SystemProperties.get(Constants.AM_SERVER_HOST)).willReturn("openam2.example.com");
0120c35c41a827e23a6e04fbd59299a187e0b22cvboxsync given(SystemProperties.get(Constants.AM_SERVER_PORT)).willReturn("28080");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(SystemProperties.get(Constants.AM_SERVICES_DEPLOYMENT_DESCRIPTOR)).willReturn("/openam");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync PowerMockito.mockStatic(WebtopNaming.class);
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(WebtopNaming.getServerID("http", "openam2.example.com", "28080", "/openam")).willReturn("02");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(WebtopNaming.isSiteEnabled("http", "openam2.example.com", "28080", "/openam")).willReturn(true);
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(WebtopNaming.getSiteID("http", "openam2.example.com", "28080", "/openam")).willReturn("03");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(WebtopNaming.getSecondarySites("http", "openam2.example.com", "28080", "/openam")).willReturn(null);
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(WebtopNaming.getServerFromID("03")).willReturn("https://openam.example.com:8080/am");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync PowerMockito.mockStatic(SessionMeta.class);
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync given(sessionServiceURLService.getSessionServiceURL("http", "openam2.example.com", "28080", "/openam"))
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync .willReturn(new URL("https://openam.example.com:8080/am/sessionservice"));
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync // When
0120c35c41a827e23a6e04fbd59299a187e0b22cvboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync SessionServerConfig sessionServerConfig = new SessionServerConfig(mock(Debug.class), sessionServiceURLService);
0120c35c41a827e23a6e04fbd59299a187e0b22cvboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync // Then
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync assertThat(sessionServerConfig.getPrimaryServerID()).isEqualTo("03");
assertThat(sessionServerConfig.getPrimaryServerURL()).isEqualTo(new URL("https://openam.example.com:8080/am"));
assertThat(sessionServerConfig.getLocalServerID()).isEqualTo("02");
assertThat(sessionServerConfig.getLocalServerURL().toString()).isEqualTo("http://openam2.example.com:28080/openam");
assertThat(sessionServerConfig.isSiteEnabled()).isEqualTo(true);
assertThat(sessionServerConfig.getSecondarySiteIDs()).isEqualTo(Collections.emptySet()); // TODO: Why is this empty?
assertThat(sessionServerConfig.getLocalServerSessionServiceURL())
.isEqualTo(new URL("https://openam.example.com:8080/am/sessionservice"));
}
}