SessionServerConfigTest.java revision 35ab1c5bca11317474fe12bdd8d22c17cdaf2697
0120c35c41a827e23a6e04fbd59299a187e0b22cvboxsyncimport static org.fest.assertions.Assertions.assertThat;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncimport org.forgerock.openam.session.SessionServiceURLService;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncimport org.powermock.core.classloader.annotations.PrepareForTest;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncimport org.powermock.modules.testng.PowerMockTestCase;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync@PrepareForTest({ SystemProperties.class, WebtopNaming.class })
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsyncpublic class SessionServerConfigTest extends PowerMockTestCase {
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync public void localServerIsPrimaryServerIfNoSiteSetup() throws Exception {
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync SessionServiceURLService sessionServiceURLService = mock(SessionServiceURLService.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 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 given(sessionServiceURLService.getSessionServiceURL("http", "openam.example.com", "8080", "/openam"))
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync .willReturn(new URL("http://openam.example.com:8080/openam/sessionservice"));
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync SessionServerConfig config = new SessionServerConfig(mock(Debug.class), sessionServiceURLService);
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync assertThat(config.getPrimaryServerID()).isEqualTo("01");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync assertThat(config.getPrimaryServerURL()).isEqualTo(new URL("http://openam.example.com:8080/openam"));
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync assertThat(config.getLocalServerID()).isEqualTo("01");
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync assertThat(config.getLocalServerURL().toString()).isEqualTo("http://openam.example.com:8080/openam");
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 public void localServerAndPrimaryServerDifferIfSiteSetup() throws Exception {
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync SessionServiceURLService sessionServiceURLService = mock(SessionServiceURLService.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 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 given(sessionServiceURLService.getSessionServiceURL("http", "openam2.example.com", "28080", "/openam"))
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync .willReturn(new URL("https://openam.example.com:8080/am/sessionservice"));
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync SessionServerConfig sessionServerConfig = new SessionServerConfig(mock(Debug.class), sessionServiceURLService);
a119cf803cc51463dc3d1d6c3fb4cd0ca3d34f0evboxsync assertThat(sessionServerConfig.getPrimaryServerID()).isEqualTo("03");
assertThat(sessionServerConfig.getPrimaryServerURL()).isEqualTo(new URL("https://openam.example.com:8080/am"));
assertThat(sessionServerConfig.getLocalServerURL().toString()).isEqualTo("http://openam2.example.com:28080/openam");
assertThat(sessionServerConfig.getSecondarySiteIDs()).isEqualTo(Collections.emptySet()); // TODO: Why is this empty?