RedisSessionRepository implements SessionRepository { @Override public void setSessionAttribute(SessionData session, String name, Object value) { redis.hset(sessionKey(session), encode(name), serializerDeserializer().serialize(value)); } 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 testSetSessionAttribute() { RedisFacade facade = mock(RedisFacade.class); SessionManager sm = mock(SessionManager.class); SessionConfiguration conf = new SessionConfiguration(); when(sm.getConfiguration()).thenReturn(conf); when(sm.getMetrics()).thenReturn(new MetricRegistry()); JdkSerializerDeserializer serializer = new JdkSerializerDeserializer(); when(sm.getSerializerDeserializer()).thenReturn(serializer); serializer.setSessionManager(sm); try (RedisSessionRepository rsr = new RedisSessionRepository(facade, "myapp", "localhost", ExpirationStrategy.ZRANGE, false)) { rsr.setSessionManager(sm); SessionData sessionData = mock(SessionData.class); when(sessionData.getId()).thenReturn("id"); rsr.setSessionAttribute(sessionData, "attr", "value"); verify(facade).hset(rsr.sessionKey("id"), encode("attr"), serializer.serialize("value")); } }