From c153f185da13746a1e0901500c846b6c1f9e787a Mon Sep 17 00:00:00 2001 From: Matteo Merli Date: Sat, 18 May 2019 09:18:56 -0700 Subject: [PATCH] Fixed mocked methods for tests --- .../broker/service/PersistentTopicTest.java | 10 +++++++++ .../pulsar/broker/service/ServerCnxTest.java | 22 +++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/PersistentTopicTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/PersistentTopicTest.java index f87767c5a41d9..93664ff651eac 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/PersistentTopicTest.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/PersistentTopicTest.java @@ -918,6 +918,7 @@ public Object answer(InvocationOnMock invocationOnMock) throws Throwable { } } + @SuppressWarnings("unchecked") void setupMLAsyncCallbackMocks() { ledgerMock = mock(ManagedLedger.class); cursorMock = mock(ManagedCursor.class); @@ -991,6 +992,15 @@ public Object answer(InvocationOnMock invocationOnMock) throws Throwable { } }).when(ledgerMock).asyncOpenCursor(matches(".*success.*"), any(InitialPosition.class), any(OpenCursorCallback.class), anyObject()); + doAnswer(new Answer() { + @Override + public Object answer(InvocationOnMock invocationOnMock) throws Throwable { + ((OpenCursorCallback) invocationOnMock.getArguments()[3]).openCursorComplete(cursorMock, null); + return null; + } + }).when(ledgerMock).asyncOpenCursor(matches(".*success.*"), any(InitialPosition.class), any(Map.class), + any(OpenCursorCallback.class), anyObject()); + // call deleteLedgerComplete on ledger asyncDelete doAnswer(new Answer() { @Override diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/ServerCnxTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/ServerCnxTest.java index 1fe2f9797113b..f20c7bd688c9f 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/ServerCnxTest.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/ServerCnxTest.java @@ -46,6 +46,7 @@ import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collections; +import java.util.Map; import java.util.Optional; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CountDownLatch; @@ -1481,6 +1482,16 @@ public Object answer(InvocationOnMock invocationOnMock) throws Throwable { } }).when(ledgerMock).asyncOpenCursor(matches(".*success.*"), any(InitialPosition.class), any(OpenCursorCallback.class), anyObject()); + doAnswer(new Answer() { + @Override + public Object answer(InvocationOnMock invocationOnMock) throws Throwable { + Thread.sleep(300); + ((OpenCursorCallback) invocationOnMock.getArguments()[3]).openCursorComplete(cursorMock, null); + return null; + } + }).when(ledgerMock).asyncOpenCursor(matches(".*success.*"), any(InitialPosition.class), any(Map.class), + any(OpenCursorCallback.class), anyObject()); + doAnswer(new Answer() { @Override public Object answer(InvocationOnMock invocationOnMock) throws Throwable { @@ -1491,6 +1502,17 @@ public Object answer(InvocationOnMock invocationOnMock) throws Throwable { } }).when(ledgerMock).asyncOpenCursor(matches(".*fail.*"), any(InitialPosition.class), any(OpenCursorCallback.class), anyObject()); + doAnswer(new Answer() { + @Override + public Object answer(InvocationOnMock invocationOnMock) throws Throwable { + Thread.sleep(300); + ((OpenCursorCallback) invocationOnMock.getArguments()[3]) + .openCursorFailed(new ManagedLedgerException("Managed ledger failure"), null); + return null; + } + }).when(ledgerMock).asyncOpenCursor(matches(".*fail.*"), any(InitialPosition.class), any(Map.class), + any(OpenCursorCallback.class), anyObject()); + doAnswer(new Answer() { @Override public Object answer(InvocationOnMock invocationOnMock) throws Throwable {