@java.lang.Override public Builder newBuilderForType() { return newBuilder(); }
requests.add(StreamingPullRequest.newBuilder());
StreamingPullRequest.newBuilder() .setSubscription(subscription) .setStreamAckDeadlineSeconds(60)
Truth.assertThat(requests) .containsExactly( StreamingPullRequest.newBuilder().addAckIds("a").addAckIds("b").addAckIds("c").build()) .inOrder(); Truth.assertThat(requests) .containsExactly( StreamingPullRequest.newBuilder().addAckIds("a").addAckIds("b").addAckIds("c").build(), StreamingPullRequest.newBuilder().addAckIds("d").build()) .inOrder(); Truth.assertThat(requests) .containsExactly( StreamingPullRequest.newBuilder() .addAckIds("a") .addAckIds("b") .addModifyDeadlineSeconds(42) .build(), StreamingPullRequest.newBuilder().addAckIds("d").build()) .inOrder(); Truth.assertThat(requests) .containsExactly( StreamingPullRequest.newBuilder() .addAckIds("a") .addModifyDeadlineAckIds("w") Truth.assertThat(requests)
@Test @SuppressWarnings("all") public void streamingPullTest() throws Exception { ReceivedMessage receivedMessagesElement = ReceivedMessage.newBuilder().build(); List<ReceivedMessage> receivedMessages = Arrays.asList(receivedMessagesElement); StreamingPullResponse expectedResponse = StreamingPullResponse.newBuilder().addAllReceivedMessages(receivedMessages).build(); mockSubscriber.addResponse(expectedResponse); ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]"); int streamAckDeadlineSeconds = 1875467245; StreamingPullRequest request = StreamingPullRequest.newBuilder() .setSubscription(subscription.toString()) .setStreamAckDeadlineSeconds(streamAckDeadlineSeconds) .build(); MockStreamObserver<StreamingPullResponse> responseObserver = new MockStreamObserver<>(); BidiStreamingCallable<StreamingPullRequest, StreamingPullResponse> callable = client.streamingPullCallable(); ApiStreamObserver<StreamingPullRequest> requestObserver = callable.bidiStreamingCall(responseObserver); requestObserver.onNext(request); requestObserver.onCompleted(); List<StreamingPullResponse> actualResponses = responseObserver.future().get(); Assert.assertEquals(1, actualResponses.size()); Assert.assertEquals(expectedResponse, actualResponses.get(0)); }
@Test @SuppressWarnings("all") public void streamingPullExceptionTest() throws Exception { StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSubscriber.addException(exception); ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]"); int streamAckDeadlineSeconds = 1875467245; StreamingPullRequest request = StreamingPullRequest.newBuilder() .setSubscription(subscription.toString()) .setStreamAckDeadlineSeconds(streamAckDeadlineSeconds) .build(); MockStreamObserver<StreamingPullResponse> responseObserver = new MockStreamObserver<>(); BidiStreamingCallable<StreamingPullRequest, StreamingPullResponse> callable = client.streamingPullCallable(); ApiStreamObserver<StreamingPullRequest> requestObserver = callable.bidiStreamingCall(responseObserver); requestObserver.onNext(request); try { List<StreamingPullResponse> actualResponses = responseObserver.future().get(); Assert.fail("No exception thrown"); } catch (ExecutionException e) { Assert.assertTrue(e.getCause() instanceof InvalidArgumentException); InvalidArgumentException apiException = (InvalidArgumentException) e.getCause(); Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); } }
@java.lang.Override public Builder newBuilderForType() { return newBuilder(); }