SessionRegistryImpl is now aware of SessionIdChangedEvent
This commit is contained in:
committed by
Eleftheria Stein
parent
ae532c080c
commit
5fc6414377
@@ -72,6 +72,11 @@ public class HttpSessionEventPublisherTests {
|
||||
assertThat(listener.getDestroyedEvent()).isNotNull();
|
||||
assertThat(listener.getCreatedEvent()).isNull();
|
||||
assertThat(listener.getDestroyedEvent().getSession()).isEqualTo(session);
|
||||
|
||||
publisher.sessionIdChanged(event, "oldSessionId");
|
||||
assertThat(listener.getSessionIdChangedEvent()).isNotNull();
|
||||
assertThat(listener.getSessionIdChangedEvent().getOldSessionId()).isEqualTo("oldSessionId");
|
||||
listener.setSessionIdChangedEvent(null);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -108,6 +113,11 @@ public class HttpSessionEventPublisherTests {
|
||||
assertThat(listener.getDestroyedEvent()).isNotNull();
|
||||
assertThat(listener.getCreatedEvent()).isNull();
|
||||
assertThat(listener.getDestroyedEvent().getSession()).isEqualTo(session);
|
||||
|
||||
publisher.sessionIdChanged(event, "oldSessionId");
|
||||
assertThat(listener.getSessionIdChangedEvent()).isNotNull();
|
||||
assertThat(listener.getSessionIdChangedEvent().getOldSessionId()).isEqualTo("oldSessionId");
|
||||
listener.setSessionIdChangedEvent(null);
|
||||
}
|
||||
|
||||
// SEC-2599
|
||||
@@ -131,4 +141,14 @@ public class HttpSessionEventPublisherTests {
|
||||
|
||||
publisher.sessionDestroyed(event);
|
||||
}
|
||||
|
||||
@Test(expected = IllegalStateException.class)
|
||||
public void sessionIdChangeNullApplicationContext() {
|
||||
HttpSessionEventPublisher publisher = new HttpSessionEventPublisher();
|
||||
MockServletContext servletContext = new MockServletContext();
|
||||
MockHttpSession session = new MockHttpSession(servletContext);
|
||||
HttpSessionEvent event = new HttpSessionEvent(session);
|
||||
|
||||
publisher.sessionIdChanged(event, "oldSessionId");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ public class MockApplicationListener implements ApplicationListener<ApplicationE
|
||||
|
||||
private HttpSessionCreatedEvent createdEvent;
|
||||
private HttpSessionDestroyedEvent destroyedEvent;
|
||||
private HttpSessionIdChangedEvent sessionIdChangedEvent;
|
||||
|
||||
// ~ Methods
|
||||
// ========================================================================================================
|
||||
@@ -51,6 +52,9 @@ public class MockApplicationListener implements ApplicationListener<ApplicationE
|
||||
else if (event instanceof HttpSessionDestroyedEvent) {
|
||||
destroyedEvent = (HttpSessionDestroyedEvent) event;
|
||||
}
|
||||
else if (event instanceof HttpSessionIdChangedEvent) {
|
||||
sessionIdChangedEvent = (HttpSessionIdChangedEvent) event;
|
||||
}
|
||||
}
|
||||
|
||||
public void setCreatedEvent(HttpSessionCreatedEvent createdEvent) {
|
||||
@@ -60,4 +64,12 @@ public class MockApplicationListener implements ApplicationListener<ApplicationE
|
||||
public void setDestroyedEvent(HttpSessionDestroyedEvent destroyedEvent) {
|
||||
this.destroyedEvent = destroyedEvent;
|
||||
}
|
||||
|
||||
public void setSessionIdChangedEvent(HttpSessionIdChangedEvent sessionIdChangedEvent) {
|
||||
this.sessionIdChangedEvent = sessionIdChangedEvent;
|
||||
}
|
||||
|
||||
public HttpSessionIdChangedEvent getSessionIdChangedEvent() {
|
||||
return sessionIdChangedEvent;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user