Test exception in handler
diff --git a/org.apache.aries.events.memory/src/main/java/org/apache/aries/events/memory/Topic.java b/org.apache.aries.events.memory/src/main/java/org/apache/aries/events/memory/Topic.java
index b6e2348..e9175a4 100644
--- a/org.apache.aries.events.memory/src/main/java/org/apache/aries/events/memory/Topic.java
+++ b/org.apache.aries.events.memory/src/main/java/org/apache/aries/events/memory/Topic.java
@@ -99,6 +99,7 @@
try {
Thread.sleep(100);
} catch (InterruptedException e) {
+ // Ignore
}
}
}
diff --git a/org.apache.aries.events.memory/src/test/java/org/apache/aries/events/memory/MessagingTest.java b/org.apache.aries.events.memory/src/test/java/org/apache/aries/events/memory/MessagingTest.java
index b805094..62d88c0 100644
--- a/org.apache.aries.events.memory/src/test/java/org/apache/aries/events/memory/MessagingTest.java
+++ b/org.apache.aries.events.memory/src/test/java/org/apache/aries/events/memory/MessagingTest.java
@@ -2,8 +2,9 @@
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.Matchers.contains;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.timeout;
import static org.mockito.Mockito.verify;
import static org.mockito.MockitoAnnotations.initMocks;
@@ -29,6 +30,7 @@
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
+import org.mockito.Mockito;
public class MessagingTest {
@@ -56,7 +58,8 @@
@Test
public void testPositionFromString() {
Position pos = messaging.positionFromString("1");
- assertEquals(0, pos.compareTo(new MemoryPosition(1)));
+ assertThat(pos.compareTo(new MemoryPosition(1)), equalTo(0));
+ assertThat(pos.positionToString(), equalTo("1"));
}
@Test
@@ -73,9 +76,17 @@
}
@Test(expected=IllegalArgumentException.class)
- public void testInvalid() {
+ public void testInvalidSubscribe() {
messaging.subscribe("test", null, null, callback);
}
+
+ @Test
+ public void testExceptionInHandler() {
+ doThrow(new RuntimeException("Expected exception")).when(callback).accept(Mockito.any(Received.class));
+ subscriptions.add(messaging.subscribe("test", null, Seek.earliest, callback));
+ send("test", "testcontent");
+ verify(callback, timeout(1000)).accept(messageCaptor.capture());
+ }
@Test
public void testEarliestBefore() {