RetrievalBlockingMessageStore now accepts a target MessageStore in its constructor.
This commit is contained in:
@@ -37,6 +37,15 @@ public class RetrievalBlockingMessageStoreTests {
|
||||
assertNull(message);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testWrappedTargetGetWithElapsedTimeout() {
|
||||
MessageStore target = new SimpleMessageStore(10);
|
||||
final RetrievalBlockingMessageStore store = new RetrievalBlockingMessageStore(target);
|
||||
publishWithDelay(store, "foo", "bar", 100);
|
||||
Message<?> message = store.get("foo", 5);
|
||||
assertNull(message);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetWithinTimeout() {
|
||||
final RetrievalBlockingMessageStore store = new RetrievalBlockingMessageStore(10);
|
||||
@@ -47,6 +56,17 @@ public class RetrievalBlockingMessageStoreTests {
|
||||
assertNotNull(store.get("foo", 0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testWrappedTargetGetWithinTimeout() {
|
||||
MessageStore target = new SimpleMessageStore(10);
|
||||
final RetrievalBlockingMessageStore store = new RetrievalBlockingMessageStore(target);
|
||||
publishWithDelay(store, "foo", "bar", 50);
|
||||
Message<?> message = store.get("foo", 500);
|
||||
assertNotNull(message);
|
||||
assertEquals("bar", message.getPayload());
|
||||
assertNotNull(store.get("foo", 0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveWithElapsedTimeout() {
|
||||
final RetrievalBlockingMessageStore store = new RetrievalBlockingMessageStore(10);
|
||||
@@ -55,6 +75,15 @@ public class RetrievalBlockingMessageStoreTests {
|
||||
assertNull(message);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testWrappedMessageStoreRemoveWithElapsedTimeout() {
|
||||
MessageStore target = new SimpleMessageStore(10);
|
||||
final RetrievalBlockingMessageStore store = new RetrievalBlockingMessageStore(target);
|
||||
publishWithDelay(store, "foo", "bar", 100);
|
||||
Message<?> message = store.remove("foo", 5);
|
||||
assertNull(message);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveWithinTimeout() {
|
||||
final RetrievalBlockingMessageStore store = new RetrievalBlockingMessageStore(10);
|
||||
@@ -65,6 +94,17 @@ public class RetrievalBlockingMessageStoreTests {
|
||||
assertNull(store.get("foo", 0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testWrappedMessageStoreRemoveWithinTimeout() {
|
||||
MessageStore target = new SimpleMessageStore(10);
|
||||
final RetrievalBlockingMessageStore store = new RetrievalBlockingMessageStore(target);
|
||||
publishWithDelay(store, "foo", "bar", 50);
|
||||
Message<?> message = store.remove("foo", 500);
|
||||
assertNotNull(message);
|
||||
assertEquals("bar", message.getPayload());
|
||||
assertNull(store.get("foo", 0));
|
||||
}
|
||||
|
||||
|
||||
private static void publishWithDelay(final MessageStore store, final String key, final String value, final long delay) {
|
||||
Executors.newSingleThreadExecutor().execute(new Runnable() {
|
||||
|
||||
Reference in New Issue
Block a user