diff --git a/google-cloud-pubsub/pom.xml b/google-cloud-pubsub/pom.xml
index 4ce3d92ddb7f..68c7e57e3c0a 100644
--- a/google-cloud-pubsub/pom.xml
+++ b/google-cloud-pubsub/pom.xml
@@ -72,12 +72,6 @@
3.4
test
-
- org.mockito
- mockito-all
- 1.9.5
- test
-
com.google.truth
truth
diff --git a/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/FakePublisherServiceImpl.java b/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/FakePublisherServiceImpl.java
index 162898fa7c07..01f3dd58846c 100644
--- a/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/FakePublisherServiceImpl.java
+++ b/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/FakePublisherServiceImpl.java
@@ -21,6 +21,8 @@
import com.google.pubsub.v1.PublishResponse;
import com.google.pubsub.v1.PublisherGrpc.PublisherImplBase;
import io.grpc.stub.StreamObserver;
+import java.util.ArrayList;
+import java.util.List;
import java.util.concurrent.LinkedBlockingQueue;
/**
@@ -29,6 +31,7 @@
*/
class FakePublisherServiceImpl extends PublisherImplBase {
+ private final LinkedBlockingQueue requests = new LinkedBlockingQueue<>();
private final LinkedBlockingQueue publishResponses = new LinkedBlockingQueue<>();
/** Class used to save the state of a possible response. */
@@ -69,6 +72,7 @@ public String toString() {
@Override
public void publish(PublishRequest request, StreamObserver responseObserver) {
+ requests.add(request);
Response response;
try {
response = publishResponses.take();
@@ -98,7 +102,7 @@ public FakePublisherServiceImpl addPublishError(Throwable error) {
return this;
}
- public void reset() {
- publishResponses.clear();
+ public List getCapturedRequests() {
+ return new ArrayList(requests);
}
}
diff --git a/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/PublisherImplTest.java b/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/PublisherImplTest.java
index 8a96e8823928..9b0e961cda6b 100644
--- a/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/PublisherImplTest.java
+++ b/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/PublisherImplTest.java
@@ -18,21 +18,19 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import static org.mockito.Mockito.atLeast;
-import static org.mockito.Mockito.times;
import com.google.api.gax.bundling.BundlingSettings;
+import com.google.api.gax.core.ApiFuture;
import com.google.api.gax.core.FlowControlSettings;
import com.google.api.gax.core.FlowController.LimitExceededBehavior;
-import com.google.api.gax.core.ApiFuture;
import com.google.api.gax.grpc.ChannelProvider;
import com.google.api.gax.grpc.ExecutorProvider;
import com.google.api.gax.grpc.FixedExecutorProvider;
import com.google.api.gax.grpc.InstantiatingExecutorProvider;
import com.google.cloud.pubsub.spi.v1.Publisher.Builder;
import com.google.protobuf.ByteString;
-import com.google.pubsub.v1.PublishRequest;
import com.google.pubsub.v1.PublishResponse;
import com.google.pubsub.v1.PubsubMessage;
import com.google.pubsub.v1.TopicName;
@@ -42,7 +40,6 @@
import io.grpc.inprocess.InProcessChannelBuilder;
import io.grpc.inprocess.InProcessServerBuilder;
import io.grpc.internal.ServerImpl;
-import io.grpc.stub.StreamObserver;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
import org.joda.time.Duration;
@@ -51,10 +48,6 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Captor;
-import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
@RunWith(JUnit4.class)
public class PublisherImplTest {
@@ -87,8 +80,6 @@ public ManagedChannel getChannel(Executor executor) {
}
};
- @Captor private ArgumentCaptor requestCaptor;
-
private FakeScheduledExecutorService fakeExecutor;
private FakeCredentials testCredentials;
@@ -101,16 +92,13 @@ class FakeException extends Exception {}
@Before
public void setUp() throws Exception {
- testPublisherServiceImpl = Mockito.spy(new FakePublisherServiceImpl());
+ testPublisherServiceImpl = new FakePublisherServiceImpl();
InProcessServerBuilder serverBuilder = InProcessServerBuilder.forName("test-server");
serverBuilder.addService(testPublisherServiceImpl);
testServer = serverBuilder.build();
testServer.start();
- MockitoAnnotations.initMocks(this);
- testPublisherServiceImpl.reset();
- Mockito.reset(testPublisherServiceImpl);
fakeExecutor = new FakeScheduledExecutorService();
}
@@ -146,9 +134,7 @@ public void testPublishByDuration() throws Exception {
assertEquals("1", publishFuture1.get());
assertEquals("2", publishFuture2.get());
- Mockito.verify(testPublisherServiceImpl)
- .publish(requestCaptor.capture(), Mockito.>any());
- assertEquals(2, requestCaptor.getValue().getMessagesCount());
+ assertEquals(2, testPublisherServiceImpl.getCapturedRequests().get(0).getMessagesCount());
publisher.shutdown();
}
@@ -185,10 +171,8 @@ public void testPublishByNumBundledMessages() throws Exception {
assertEquals("3", publishFuture3.get());
assertEquals("4", publishFuture4.get());
- Mockito.verify(testPublisherServiceImpl, times(2))
- .publish(requestCaptor.capture(), Mockito.>any());
- assertEquals(2, requestCaptor.getAllValues().get(0).getMessagesCount());
- assertEquals(2, requestCaptor.getAllValues().get(1).getMessagesCount());
+ assertEquals(2, testPublisherServiceImpl.getCapturedRequests().get(0).getMessagesCount());
+ assertEquals(2, testPublisherServiceImpl.getCapturedRequests().get(1).getMessagesCount());
publisher.shutdown();
}
@@ -222,8 +206,7 @@ public void testSinglePublishByNumBytes() throws Exception {
assertEquals("3", publishFuture3.get());
assertEquals("4", publishFuture4.get());
- Mockito.verify(testPublisherServiceImpl, times(2))
- .publish(requestCaptor.capture(), Mockito.>any());
+ assertEquals(2, testPublisherServiceImpl.getCapturedRequests().size());
publisher.shutdown();
}
@@ -264,10 +247,8 @@ public void testPublishMixedSizeAndDuration() throws Exception {
assertEquals("3", publishFuture3.get());
- Mockito.verify(testPublisherServiceImpl, times(2))
- .publish(requestCaptor.capture(), Mockito.>any());
- assertEquals(2, requestCaptor.getAllValues().get(0).getMessagesCount());
- assertEquals(1, requestCaptor.getAllValues().get(1).getMessagesCount());
+ assertEquals(2, testPublisherServiceImpl.getCapturedRequests().get(0).getMessagesCount());
+ assertEquals(1, testPublisherServiceImpl.getCapturedRequests().get(1).getMessagesCount());
publisher.shutdown();
}
@@ -296,8 +277,7 @@ public void testPublishFailureRetries() throws Exception {
assertEquals("1", publishFuture1.get());
- Mockito.verify(testPublisherServiceImpl, times(2))
- .publish(Mockito.any(), Mockito.>any());
+ assertEquals(2, testPublisherServiceImpl.getCapturedRequests().size());
publisher.shutdown();
}
@@ -331,8 +311,7 @@ public void testPublishFailureRetries_exceededsRetryDuration() throws Exception
throw new IllegalStateException("unexpected exception", e);
}
} finally {
- Mockito.verify(testPublisherServiceImpl, atLeast(10))
- .publish(Mockito.any(), Mockito.>any());
+ assertTrue(testPublisherServiceImpl.getCapturedRequests().size() >= 10);
publisher.shutdown();
}
}
@@ -361,8 +340,7 @@ public void testPublishFailureRetries_nonRetryableFailsImmediately() throws Exce
try {
publishFuture1.get();
} finally {
- Mockito.verify(testPublisherServiceImpl)
- .publish(Mockito.any(), Mockito.>any());
+ assertTrue(testPublisherServiceImpl.getCapturedRequests().size() >= 1);
publisher.shutdown();
}
}