diff --git a/spring-session/src/test/java/org/springframework/session/web/http/SessionRepositoryFilterTests.java b/spring-session/src/test/java/org/springframework/session/web/http/SessionRepositoryFilterTests.java index 5a60881..09aafc7 100644 --- a/spring-session/src/test/java/org/springframework/session/web/http/SessionRepositoryFilterTests.java +++ b/spring-session/src/test/java/org/springframework/session/web/http/SessionRepositoryFilterTests.java @@ -1165,6 +1165,39 @@ public class SessionRepositoryFilterTests { verifyZeroInteractions(sessionRepository); } + @Test + public void doFilterLazySessionCreation() throws Exception { + SessionRepository sessionRepository = spy(new MapSessionRepository()); + + filter = new SessionRepositoryFilter(sessionRepository); + + doFilter(new DoInFilter(){ + @Override + public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse) throws IOException { + } + }); + + verifyZeroInteractions(sessionRepository); + } + + @Test + public void doFilterLazySessionUpdates() throws Exception { + ExpiringSession session = this.sessionRepository.createSession(); + this.sessionRepository.save(session); + SessionRepository sessionRepository = spy(this.sessionRepository); + setSessionCookie(session.getId()); + + filter = new SessionRepositoryFilter(sessionRepository); + + doFilter(new DoInFilter(){ + @Override + public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse) throws IOException { + } + }); + + verifyZeroInteractions(sessionRepository); + } + // --- order @Test