@Test
public void simpleEvictionTest() throws InterruptedException {
MessageReceiverHandler handler = new GridNodeImpl( "myNode", null ).getMessageReceiverHandler();
ContextImplWithEviction contextTemp = (ContextImplWithEviction) ((GridNodeServer) handler).getData().getTemp();
((ContextImplWithEviction) contextTemp).setEntryEvictionTime(2000); // 2 seconds
((ContextImplWithEviction) contextTemp).setEvictionWakeUpTime(1000); // 1 seconds
JDKTimerService timer = new JDKTimerService(1);
contextTemp.set("myvalue", "value");
Long evictionWakeUpTime = contextTemp.getEvictionWakeUpTime();
timer.scheduleJob(new EvictionJob(contextTemp), new MockJobContext(), new MockTrigger(new Date(), evictionWakeUpTime));
//Set the timestamp for the first time
contextTemp.set("myvalue", "value");
Thread.sleep(1000);
//Update the timestamp
String value = (String) contextTemp.get("myvalue");
//Wait for eviction
Thread.sleep(4000);
assertNull((String) contextTemp.get("myvalue"));
}