Merge pull request #316 from tsachev/gh-315
Don't send expirations del events when expiration time does not change.
This commit is contained in:
@@ -59,7 +59,7 @@ public class RedisSessionExpirationPolicyTests {
|
||||
RedisOperationsSessionRepository repository = new RedisOperationsSessionRepository(sessionRedisOperations);
|
||||
policy = new RedisSessionExpirationPolicy(sessionRedisOperations, repository);
|
||||
session = new MapSession();
|
||||
session.setLastAccessedTime(1429116694665L);
|
||||
session.setLastAccessedTime(1429116694675L);
|
||||
session.setId("12345");
|
||||
|
||||
when(sessionRedisOperations.boundSetOps(anyString())).thenReturn(setOperations);
|
||||
@@ -81,6 +81,19 @@ public class RedisSessionExpirationPolicyTests {
|
||||
verify(setOperations).remove("expires:"+ session.getId());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onExpirationUpdatedDoNotSendDeleteWhenExpirationTimeDoesNotChange() throws Exception {
|
||||
long originalExpirationTimeInMs = RedisSessionExpirationPolicy.expiresInMillis(session) - 10;
|
||||
long originalRoundedToNextMinInMs = RedisSessionExpirationPolicy.roundUpToNextMinute(originalExpirationTimeInMs);
|
||||
String originalExpireKey = policy.getExpirationKey(originalRoundedToNextMinInMs);
|
||||
|
||||
policy.onExpirationUpdated(originalExpirationTimeInMs, session);
|
||||
|
||||
// verify the original is not removed
|
||||
verify(sessionRedisOperations).boundSetOps(originalExpireKey);
|
||||
verify(setOperations, never()).remove("expires:"+ session.getId());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onExpirationUpdatedAddsExpirationTimeRoundedUp() throws Exception {
|
||||
long expirationTimeInMs = RedisSessionExpirationPolicy.expiresInMillis(session);
|
||||
|
||||
Reference in New Issue
Block a user