From c78b8a14fb4f21fa89acd7f24f167e91aa0ef99e Mon Sep 17 00:00:00 2001 From: Julien Viet Date: Fri, 28 Jun 2019 09:09:14 +0200 Subject: [PATCH] Test MessageProducer end/close methods with no/null handler --- .../eventbus/impl/MessageProducerImpl.java | 6 +++++- .../core/eventbus/LocalEventBusTest.java | 20 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/vertx/core/eventbus/impl/MessageProducerImpl.java b/src/main/java/io/vertx/core/eventbus/impl/MessageProducerImpl.java index 04c5d58ce..06a2a32bf 100644 --- a/src/main/java/io/vertx/core/eventbus/impl/MessageProducerImpl.java +++ b/src/main/java/io/vertx/core/eventbus/impl/MessageProducerImpl.java @@ -147,7 +147,11 @@ public class MessageProducerImpl implements MessageProducer { if (creditConsumer != null) { creditConsumer.unregister(handler); } else { - vertx.runOnContext(v -> handler.handle(Future.succeededFuture())); + vertx.runOnContext(v -> { + if (handler != null) { + handler.handle(Future.succeededFuture()); + } + }); } } diff --git a/src/test/java/io/vertx/core/eventbus/LocalEventBusTest.java b/src/test/java/io/vertx/core/eventbus/LocalEventBusTest.java index 41d2c3458..1e2eb6179 100644 --- a/src/test/java/io/vertx/core/eventbus/LocalEventBusTest.java +++ b/src/test/java/io/vertx/core/eventbus/LocalEventBusTest.java @@ -1272,6 +1272,26 @@ public class LocalEventBusTest extends EventBusTestBase { await(); } + @Test + public void testCloseSender1() { + eb.sender(ADDRESS1).close(); + } + + @Test + public void testCloseSender2() { + eb.sender(ADDRESS1).close(null); + } + + @Test + public void testClosePublisher1() { + eb.publisher(ADDRESS1).close(); + } + + @Test + public void testClosePublisher2() { + eb.publisher(ADDRESS1).close(null); + } + @Test public void testPump() { String str = TestUtils.randomUnicodeString(100);