@Test
public void testSessionTouched() {

  expiration.sessionTouched(session);
  ArgumentCaptor<byte[]> captureExpireKey = ArgumentCaptor.forClass(byte[].class);
  ArgumentCaptor<byte[]> captureSessionKey = ArgumentCaptor.forClass(byte[].class);
  verify(redis).sadd(captureExpireKey.capture(), captureSessionKey.capture());
  assertEquals("prefixexpirations:60000", SafeEncoder.encode(captureExpireKey.getValue()));
  assertEquals("key:{1}", SafeEncoder.encode(captureSessionKey.getValue()));
  ArgumentCaptor<Long> captureInstant = ArgumentCaptor.forClass(Long.class);
  verify(redis).expireAt(captureExpireKey.capture(), captureInstant.capture());
  assertEquals("prefixexpirations:60000", SafeEncoder.encode(captureExpireKey.getValue()));
  assertEquals(Long.valueOf(360), captureInstant.getValue());
  ArgumentCaptor<byte[]> captureValue = ArgumentCaptor.forClass(byte[].class);
  ArgumentCaptor<Integer> captureInt = ArgumentCaptor.forClass(Integer.class);
  verify(redis).setex(captureExpireKey.capture(), captureInt.capture(), captureValue.capture());
  assertEquals("com.amadeus.session:expire::test:{1}", SafeEncoder.encode(captureExpireKey.getValue()));
  assertEquals("", SafeEncoder.encode(captureValue.getValue()));
  assertEquals(Integer.valueOf(20), captureInt.getValue());
  verify(redis).expire(captureSessionKey.capture(), captureInt.capture());
  assertEquals("key:{1}", SafeEncoder.encode(captureSessionKey.getValue()));
  assertEquals(Integer.valueOf(320), captureInt.getValue());
}