@Test public void testMessageWithNullExpirationDateNeverExpires() { Message<String> message = MessageBuilder.withPayload("unexpired").build(); UnexpiredMessageSelector selector = new UnexpiredMessageSelector(); assertTrue(selector.accept(message)); }
@Test public void testPurge() { QueueChannel channel = new QueueChannel(2); long minute = 60 * 1000; long time = System.currentTimeMillis(); long past = time - minute; long future = time + minute; Message<String> expiredMessage = MessageBuilder.withPayload("test1") .setExpirationDate(past).build(); Message<String> unexpiredMessage = MessageBuilder.withPayload("test2") .setExpirationDate(future).build(); assertTrue(channel.send(expiredMessage, 0)); assertTrue(channel.send(unexpiredMessage, 0)); assertFalse(channel.send(new GenericMessage<>("atCapacity"), 0)); List<Message<?>> purgedMessages = channel.purge(new UnexpiredMessageSelector()); assertNotNull(purgedMessages); assertEquals(1, purgedMessages.size()); assertTrue(channel.send(new GenericMessage<>("roomAvailable"), 0)); }
@Test public void testExpiredMessageRejected() { long past = System.currentTimeMillis() - 60000; Message<String> message = MessageBuilder.withPayload("expired") .setExpirationDate(past).build(); UnexpiredMessageSelector selector = new UnexpiredMessageSelector(); assertFalse(selector.accept(message)); }
@Test public void testUnexpiredMessageAccepted() { long future = System.currentTimeMillis() + 60000; Message<String> message = MessageBuilder.withPayload("unexpired") .setExpirationDate(future).build(); UnexpiredMessageSelector selector = new UnexpiredMessageSelector(); assertTrue(selector.accept(message)); }