1818
1919import static org .junit .Assert .assertEquals ;
2020import static org .junit .Assert .assertFalse ;
21+ import static org .junit .Assert .assertTrue ;
2122import static org .junit .Assert .fail ;
22- import static org .mockito .Mockito .atLeast ;
23- import static org .mockito .Mockito .times ;
2423
2524import com .google .api .gax .bundling .BundlingSettings ;
25+ import com .google .api .gax .core .ApiFuture ;
2626import com .google .api .gax .core .FlowControlSettings ;
2727import com .google .api .gax .core .FlowController .LimitExceededBehavior ;
28- import com .google .api .gax .core .ApiFuture ;
2928import com .google .api .gax .grpc .ChannelProvider ;
3029import com .google .api .gax .grpc .ExecutorProvider ;
3130import com .google .api .gax .grpc .FixedExecutorProvider ;
3231import com .google .api .gax .grpc .InstantiatingExecutorProvider ;
3332import com .google .cloud .pubsub .spi .v1 .Publisher .Builder ;
3433import com .google .protobuf .ByteString ;
35- import com .google .pubsub .v1 .PublishRequest ;
3634import com .google .pubsub .v1 .PublishResponse ;
3735import com .google .pubsub .v1 .PubsubMessage ;
3836import com .google .pubsub .v1 .TopicName ;
4240import io .grpc .inprocess .InProcessChannelBuilder ;
4341import io .grpc .inprocess .InProcessServerBuilder ;
4442import io .grpc .internal .ServerImpl ;
45- import io .grpc .stub .StreamObserver ;
4643import java .util .concurrent .ExecutionException ;
4744import java .util .concurrent .Executor ;
4845import org .joda .time .Duration ;
5148import org .junit .Test ;
5249import org .junit .runner .RunWith ;
5350import 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 )
6053public 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