SessionRegistryImpl is now aware of SessionIdChangedEvent

This commit is contained in:
Venkata Jaswanth
2018-06-14 01:36:07 +10:00
committed by Eleftheria Stein
parent ae532c080c
commit 5fc6414377
7 changed files with 164 additions and 5 deletions

View File

@@ -69,6 +69,33 @@ public class SessionRegistryImplTests {
assertThat(sessionRegistry.getSessionInformation(sessionId)).isNull();
}
@Test
public void sessionIdChangedEventRemovesOldSessionAndAddsANewSession() {
Object principal = "Some principal object";
final String sessionId = "zzzz";
final String newSessionId = "123";
// Register new Session
sessionRegistry.registerNewSession(sessionId, principal);
// De-register session via an ApplicationEvent
sessionRegistry.onApplicationEvent(new SessionIdChangedEvent("") {
@Override
public String getOldSessionId() {
return sessionId;
}
@Override
public String getNewSessionId() {
return newSessionId;
}
});
assertThat(sessionRegistry.getSessionInformation(sessionId)).isNull();
assertThat(sessionRegistry.getSessionInformation(newSessionId)).isNotNull();
assertThat(sessionRegistry.getSessionInformation(newSessionId).getPrincipal()).isEqualTo(principal);
}
@Test
public void testMultiplePrincipals() {
Object principal1 = "principal_1";