RedisSessionRepository implements SessionRepository { @Override public void remove(SessionData session) { redis.del(sessionKey(session.getId())); expirationManager.sessionDeleted(session); } RedisSessionRepository(RedisFacade redis, String namespace, String owner, ExpirationStrategy strategy,
      boolean sticky); @Override void setSessionManager(final SessionManager sessionManager); @Override SessionData getSessionData(String id); @Override CommitTransaction startCommit(SessionData session); @Override void remove(SessionData session); byte[] sessionKey(String sessionId); @Override Object getSessionAttribute(SessionData session, String attribute); @Override boolean prepareRemove(SessionData session); @Override Set<String> getAllKeys(SessionData session); @Override void storeSessionData(SessionData sessionData); @Override void requestFinished(); @Override void setSessionAttribute(SessionData session, String name, Object value); @Override void removeSessionAttribute(SessionData session, String name); @Override boolean cleanSessionsOnShutdown(); @Override Collection<String> getOwnedSessionIds(); @Override void close(); @Override void reset(); @Override void sessionIdChange(SessionData sessionData); @Override boolean isConnected();  }
@Test public void testRemove() { RedisFacade facade = mock(RedisFacade.class); SessionManager sm = mock(SessionManager.class); try (RedisSessionRepository rsr = new RedisSessionRepository(facade, "myapp", "localhost", ExpirationStrategy.NOTIF, false)) { rsr.setSessionManager(sm); RepositoryBackedSession sess = mock(RepositoryBackedSession.class); SessionData sd = mock(SessionData.class); when(sess.getSessionData()).thenReturn(sd ); when(sd.getId()).thenReturn("400"); rsr.remove(sess.getSessionData()); verify(facade).del(rsr.sessionKey("400")); } }