Skip to content

Commit eca4315

Browse files
committed
remove Mockito from pubsub
fixes #1596.
1 parent 3919d63 commit eca4315

File tree

3 files changed

+18
-42
lines changed

3 files changed

+18
-42
lines changed

google-cloud-pubsub/pom.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,6 @@
7272
<version>3.4</version>
7373
<scope>test</scope>
7474
</dependency>
75-
<dependency>
76-
<groupId>org.mockito</groupId>
77-
<artifactId>mockito-all</artifactId>
78-
<version>1.9.5</version>
79-
<scope>test</scope>
80-
</dependency>
8175
<dependency>
8276
<groupId>com.google.truth</groupId>
8377
<artifactId>truth</artifactId>

google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/FakePublisherServiceImpl.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import com.google.pubsub.v1.PublishResponse;
2222
import com.google.pubsub.v1.PublisherGrpc.PublisherImplBase;
2323
import io.grpc.stub.StreamObserver;
24+
import java.util.ArrayList;
25+
import java.util.List;
2426
import java.util.concurrent.LinkedBlockingQueue;
2527

2628
/**
@@ -29,6 +31,7 @@
2931
*/
3032
class FakePublisherServiceImpl extends PublisherImplBase {
3133

34+
private final LinkedBlockingQueue<PublishRequest> requests = new LinkedBlockingQueue<>();
3235
private final LinkedBlockingQueue<Response> publishResponses = new LinkedBlockingQueue<>();
3336

3437
/** Class used to save the state of a possible response. */
@@ -69,6 +72,7 @@ public String toString() {
6972

7073
@Override
7174
public void publish(PublishRequest request, StreamObserver<PublishResponse> responseObserver) {
75+
requests.add(request);
7276
Response response;
7377
try {
7478
response = publishResponses.take();
@@ -98,7 +102,7 @@ public FakePublisherServiceImpl addPublishError(Throwable error) {
98102
return this;
99103
}
100104

101-
public void reset() {
102-
publishResponses.clear();
105+
public List<PublishRequest> getCapturedRequests() {
106+
return new ArrayList<PublishRequest>(requests);
103107
}
104108
}

google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/PublisherImplTest.java

Lines changed: 12 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,19 @@
1818

1919
import static org.junit.Assert.assertEquals;
2020
import static org.junit.Assert.assertFalse;
21+
import static org.junit.Assert.assertTrue;
2122
import static org.junit.Assert.fail;
22-
import static org.mockito.Mockito.atLeast;
23-
import static org.mockito.Mockito.times;
2423

2524
import com.google.api.gax.bundling.BundlingSettings;
25+
import com.google.api.gax.core.ApiFuture;
2626
import com.google.api.gax.core.FlowControlSettings;
2727
import com.google.api.gax.core.FlowController.LimitExceededBehavior;
28-
import com.google.api.gax.core.ApiFuture;
2928
import com.google.api.gax.grpc.ChannelProvider;
3029
import com.google.api.gax.grpc.ExecutorProvider;
3130
import com.google.api.gax.grpc.FixedExecutorProvider;
3231
import com.google.api.gax.grpc.InstantiatingExecutorProvider;
3332
import com.google.cloud.pubsub.spi.v1.Publisher.Builder;
3433
import com.google.protobuf.ByteString;
35-
import com.google.pubsub.v1.PublishRequest;
3634
import com.google.pubsub.v1.PublishResponse;
3735
import com.google.pubsub.v1.PubsubMessage;
3836
import com.google.pubsub.v1.TopicName;
@@ -42,7 +40,6 @@
4240
import io.grpc.inprocess.InProcessChannelBuilder;
4341
import io.grpc.inprocess.InProcessServerBuilder;
4442
import io.grpc.internal.ServerImpl;
45-
import io.grpc.stub.StreamObserver;
4643
import java.util.concurrent.ExecutionException;
4744
import java.util.concurrent.Executor;
4845
import org.joda.time.Duration;
@@ -51,10 +48,6 @@
5148
import org.junit.Test;
5249
import org.junit.runner.RunWith;
5350
import org.junit.runners.JUnit4;
54-
import org.mockito.ArgumentCaptor;
55-
import org.mockito.Captor;
56-
import org.mockito.Mockito;
57-
import org.mockito.MockitoAnnotations;
5851

5952
@RunWith(JUnit4.class)
6053
public class PublisherImplTest {
@@ -87,8 +80,6 @@ public ManagedChannel getChannel(Executor executor) {
8780
}
8881
};
8982

90-
@Captor private ArgumentCaptor<PublishRequest> requestCaptor;
91-
9283
private FakeScheduledExecutorService fakeExecutor;
9384

9485
private FakeCredentials testCredentials;
@@ -101,16 +92,13 @@ class FakeException extends Exception {}
10192

10293
@Before
10394
public void setUp() throws Exception {
104-
testPublisherServiceImpl = Mockito.spy(new FakePublisherServiceImpl());
95+
testPublisherServiceImpl = new FakePublisherServiceImpl();
10596

10697
InProcessServerBuilder serverBuilder = InProcessServerBuilder.forName("test-server");
10798
serverBuilder.addService(testPublisherServiceImpl);
10899
testServer = serverBuilder.build();
109100
testServer.start();
110101

111-
MockitoAnnotations.initMocks(this);
112-
testPublisherServiceImpl.reset();
113-
Mockito.reset(testPublisherServiceImpl);
114102
fakeExecutor = new FakeScheduledExecutorService();
115103
}
116104

@@ -146,9 +134,7 @@ public void testPublishByDuration() throws Exception {
146134
assertEquals("1", publishFuture1.get());
147135
assertEquals("2", publishFuture2.get());
148136

149-
Mockito.verify(testPublisherServiceImpl)
150-
.publish(requestCaptor.capture(), Mockito.<StreamObserver<PublishResponse>>any());
151-
assertEquals(2, requestCaptor.getValue().getMessagesCount());
137+
assertEquals(2, testPublisherServiceImpl.getCapturedRequests().get(0).getMessagesCount());
152138
publisher.shutdown();
153139
}
154140

@@ -185,10 +171,8 @@ public void testPublishByNumBundledMessages() throws Exception {
185171
assertEquals("3", publishFuture3.get());
186172
assertEquals("4", publishFuture4.get());
187173

188-
Mockito.verify(testPublisherServiceImpl, times(2))
189-
.publish(requestCaptor.capture(), Mockito.<StreamObserver<PublishResponse>>any());
190-
assertEquals(2, requestCaptor.getAllValues().get(0).getMessagesCount());
191-
assertEquals(2, requestCaptor.getAllValues().get(1).getMessagesCount());
174+
assertEquals(2, testPublisherServiceImpl.getCapturedRequests().get(0).getMessagesCount());
175+
assertEquals(2, testPublisherServiceImpl.getCapturedRequests().get(1).getMessagesCount());
192176
publisher.shutdown();
193177
}
194178

@@ -222,8 +206,7 @@ public void testSinglePublishByNumBytes() throws Exception {
222206
assertEquals("3", publishFuture3.get());
223207
assertEquals("4", publishFuture4.get());
224208

225-
Mockito.verify(testPublisherServiceImpl, times(2))
226-
.publish(requestCaptor.capture(), Mockito.<StreamObserver<PublishResponse>>any());
209+
assertEquals(2, testPublisherServiceImpl.getCapturedRequests().size());
227210
publisher.shutdown();
228211
}
229212

@@ -264,10 +247,8 @@ public void testPublishMixedSizeAndDuration() throws Exception {
264247

265248
assertEquals("3", publishFuture3.get());
266249

267-
Mockito.verify(testPublisherServiceImpl, times(2))
268-
.publish(requestCaptor.capture(), Mockito.<StreamObserver<PublishResponse>>any());
269-
assertEquals(2, requestCaptor.getAllValues().get(0).getMessagesCount());
270-
assertEquals(1, requestCaptor.getAllValues().get(1).getMessagesCount());
250+
assertEquals(2, testPublisherServiceImpl.getCapturedRequests().get(0).getMessagesCount());
251+
assertEquals(1, testPublisherServiceImpl.getCapturedRequests().get(1).getMessagesCount());
271252
publisher.shutdown();
272253
}
273254

@@ -296,8 +277,7 @@ public void testPublishFailureRetries() throws Exception {
296277

297278
assertEquals("1", publishFuture1.get());
298279

299-
Mockito.verify(testPublisherServiceImpl, times(2))
300-
.publish(Mockito.<PublishRequest>any(), Mockito.<StreamObserver<PublishResponse>>any());
280+
assertEquals(2, testPublisherServiceImpl.getCapturedRequests().size());
301281
publisher.shutdown();
302282
}
303283

@@ -331,8 +311,7 @@ public void testPublishFailureRetries_exceededsRetryDuration() throws Exception
331311
throw new IllegalStateException("unexpected exception", e);
332312
}
333313
} finally {
334-
Mockito.verify(testPublisherServiceImpl, atLeast(10))
335-
.publish(Mockito.<PublishRequest>any(), Mockito.<StreamObserver<PublishResponse>>any());
314+
assertTrue(testPublisherServiceImpl.getCapturedRequests().size() >= 10);
336315
publisher.shutdown();
337316
}
338317
}
@@ -361,8 +340,7 @@ public void testPublishFailureRetries_nonRetryableFailsImmediately() throws Exce
361340
try {
362341
publishFuture1.get();
363342
} finally {
364-
Mockito.verify(testPublisherServiceImpl)
365-
.publish(Mockito.<PublishRequest>any(), Mockito.<StreamObserver<PublishResponse>>any());
343+
assertTrue(testPublisherServiceImpl.getCapturedRequests().size() >= 1);
366344
publisher.shutdown();
367345
}
368346
}

0 commit comments

Comments
 (0)