Search in sources :

Example 11 with MapSessionRepository

use of org.springframework.session.MapSessionRepository in project spring-session by spring-projects.

the class SessionRepositoryFilterTests method doFilterAdapterGetRequestedSessionId.

// --- HttpSessionIdResolver
@Test
public void doFilterAdapterGetRequestedSessionId() throws Exception {
    SessionRepository<MapSession> sessionRepository = spy(new MapSessionRepository(new ConcurrentHashMap<>()));
    this.filter = new SessionRepositoryFilter<>(sessionRepository);
    this.filter.setHttpSessionIdResolver(this.strategy);
    final String expectedId = "HttpSessionIdResolver-requested-id";
    given(this.strategy.resolveSessionIds(any(HttpServletRequest.class))).willReturn(Collections.singletonList(expectedId));
    given(sessionRepository.findById(anyString())).willReturn(new MapSession(expectedId));
    doFilter(new DoInFilter() {

        @Override
        public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse) throws IOException {
            String actualId = wrappedRequest.getRequestedSessionId();
            assertThat(actualId).isEqualTo(expectedId);
        }
    });
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) MockHttpServletRequest(org.springframework.mock.web.MockHttpServletRequest) MapSessionRepository(org.springframework.session.MapSessionRepository) MockHttpServletResponse(org.springframework.mock.web.MockHttpServletResponse) HttpServletResponse(javax.servlet.http.HttpServletResponse) MapSession(org.springframework.session.MapSession) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) IOException(java.io.IOException) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) Test(org.junit.Test)

Example 12 with MapSessionRepository

use of org.springframework.session.MapSessionRepository in project spring-session by spring-projects.

the class SessionRepositoryFilterTests method doFilterRequestSessionNoRequestSessionNoSessionRepositoryInteractions.

@Test
@SuppressWarnings("unchecked")
public void doFilterRequestSessionNoRequestSessionNoSessionRepositoryInteractions() throws Exception {
    SessionRepository<MapSession> sessionRepository = spy(new MapSessionRepository(new ConcurrentHashMap<>()));
    this.filter = new SessionRepositoryFilter<>(sessionRepository);
    doFilter(new DoInFilter() {

        @Override
        public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse) throws IOException {
            wrappedRequest.getSession().getId();
        }
    });
    reset(sessionRepository);
    setupRequest();
    doFilter(new DoInFilter() {

        @Override
        public void doFilter(HttpServletRequest wrappedRequest, HttpServletResponse wrappedResponse) throws IOException {
        }
    });
    verifyZeroInteractions(sessionRepository);
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) MockHttpServletRequest(org.springframework.mock.web.MockHttpServletRequest) MapSessionRepository(org.springframework.session.MapSessionRepository) MockHttpServletResponse(org.springframework.mock.web.MockHttpServletResponse) HttpServletResponse(javax.servlet.http.HttpServletResponse) MapSession(org.springframework.session.MapSession) IOException(java.io.IOException) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) Test(org.junit.Test)

Example 13 with MapSessionRepository

use of org.springframework.session.MapSessionRepository in project spring-session by spring-projects.

the class SessionRepositoryFilterTests method doFilterSetsCookieIfChanged.

@Test
public void doFilterSetsCookieIfChanged() throws Exception {
    this.sessionRepository = new MapSessionRepository(new ConcurrentHashMap<>()) {

        @Override
        public MapSession findById(String id) {
            return createSession();
        }
    };
    this.filter = new SessionRepositoryFilter<>(this.sessionRepository);
    doFilter(new DoInFilter() {

        @Override
        public void doFilter(HttpServletRequest wrappedRequest) {
            wrappedRequest.getSession();
        }
    });
    assertThat(this.response.getCookie("SESSION")).isNotNull();
    nextRequest();
    this.response.reset();
    doFilter(new DoInFilter() {

        @Override
        public void doFilter(HttpServletRequest wrappedRequest) {
            assertThat(wrappedRequest.getSession().isNew()).isFalse();
        }
    });
    assertThat(this.response.getCookie("SESSION")).isNotNull();
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) MockHttpServletRequest(org.springframework.mock.web.MockHttpServletRequest) MapSessionRepository(org.springframework.session.MapSessionRepository) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) MapSession(org.springframework.session.MapSession) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) Test(org.junit.Test)

Aggregations

MapSessionRepository (org.springframework.session.MapSessionRepository)13 Test (org.junit.Test)10 MapSession (org.springframework.session.MapSession)7 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)6 HttpServletRequest (javax.servlet.http.HttpServletRequest)4 MockHttpServletRequest (org.springframework.mock.web.MockHttpServletRequest)4 IOException (java.io.IOException)3 HttpServletResponse (javax.servlet.http.HttpServletResponse)3 MockHttpServletResponse (org.springframework.mock.web.MockHttpServletResponse)3 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)2 Dynamic (javax.servlet.FilterRegistration.Dynamic)1 Before (org.junit.Before)1 ConditionalOnMissingBean (org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean)1 Bean (org.springframework.context.annotation.Bean)1 Session (org.springframework.session.Session)1 SessionRepositoryFilter (org.springframework.session.web.http.SessionRepositoryFilter)1