下面列出了怎么用io.grpc.testing.integration.TestServiceGrpc的API类实例代码及写法,或者点击链接到github查看源代码。
@Test
public void testConfigureDeadline() {
Deadline deadline = Deadline.after(2, NANOSECONDS);
// Create a default stub
TestServiceGrpc.TestServiceBlockingStub stub = TestServiceGrpc.newBlockingStub(channel);
assertNull(stub.getCallOptions().getDeadline());
// Reconfigure it
TestServiceGrpc.TestServiceBlockingStub reconfiguredStub = stub.withDeadline(deadline);
// New altered config
assertEquals(deadline, reconfiguredStub.getCallOptions().getDeadline());
// Default config unchanged
assertNull(stub.getCallOptions().getDeadline());
}
@Test
public void testStubCallOptionsPopulatedToNewCall() {
TestServiceGrpc.TestServiceStub stub = TestServiceGrpc.newStub(channel);
CallOptions options1 = stub.getCallOptions();
SimpleRequest request = SimpleRequest.getDefaultInstance();
stub.unaryCall(request, responseObserver);
verify(channel).newCall(same(TestServiceGrpc.getUnaryCallMethod()), same(options1));
stub = stub.withDeadlineAfter(2, NANOSECONDS);
CallOptions options2 = stub.getCallOptions();
assertNotSame(options1, options2);
stub.unaryCall(request, responseObserver);
verify(channel).newCall(same(TestServiceGrpc.getUnaryCallMethod()), same(options2));
}
@Test
public void testStreamingOutMethodWithBlockingClient() {
Iterator<Messages.StreamingOutputCallResponse> iterator = TestServiceGrpc
.newBlockingStub(channel)
.streamingOutputCall(Messages.StreamingOutputCallRequest.newBuilder().build());
assertThat(iterator).isNotNull();
List<String> list = new CopyOnWriteArrayList<>();
iterator.forEachRemaining(so -> {
String content = so.getPayload().getBody().toStringUtf8();
list.add(content);
});
assertThat(list).containsExactly("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
}
@SuppressWarnings("ResultOfMethodCallIgnored")
@Test
public void testUnimplementedMethodWithBlockingClient() {
assertThatThrownBy(
() -> TestServiceGrpc.newBlockingStub(channel).unimplementedCall(EmptyProtos.Empty.newBuilder().build()))
.isInstanceOf(StatusRuntimeException.class).hasMessageContaining("UNIMPLEMENTED");
}
@Override
public void sendsTimeoutHeader() {
final long configuredTimeoutMinutes = 100;
final TestServiceGrpc.TestServiceBlockingStub stub =
blockingStub.withDeadlineAfter(configuredTimeoutMinutes, TimeUnit.MINUTES);
stub.emptyCall(EMPTY);
final long transferredTimeoutMinutes = TimeUnit.MILLISECONDS.toMinutes(
ctxCapture.get().requestTimeoutMillis());
Assert.assertTrue(
"configuredTimeoutMinutes=" + configuredTimeoutMinutes +
", transferredTimeoutMinutes=" + transferredTimeoutMinutes,
configuredTimeoutMinutes - transferredTimeoutMinutes >= 0 &&
configuredTimeoutMinutes - transferredTimeoutMinutes <= 1);
}
@Test
public void testConfigureDeadline() {
Deadline deadline = Deadline.after(2, NANOSECONDS);
// Create a default stub
TestServiceGrpc.TestServiceBlockingStub stub = TestServiceGrpc.newBlockingStub(channel);
assertNull(stub.getCallOptions().getDeadline());
// Reconfigure it
TestServiceGrpc.TestServiceBlockingStub reconfiguredStub = stub.withDeadline(deadline);
// New altered config
assertEquals(deadline, reconfiguredStub.getCallOptions().getDeadline());
// Default config unchanged
assertNull(stub.getCallOptions().getDeadline());
}
@Test
public void testStubCallOptionsPopulatedToNewCall() {
TestServiceGrpc.TestServiceStub stub = TestServiceGrpc.newStub(channel);
CallOptions options1 = stub.getCallOptions();
SimpleRequest request = SimpleRequest.getDefaultInstance();
stub.unaryCall(request, responseObserver);
verify(channel).newCall(same(TestServiceGrpc.getUnaryCallMethod()), same(options1));
stub = stub.withDeadlineAfter(2, NANOSECONDS);
CallOptions options2 = stub.getCallOptions();
assertNotSame(options1, options2);
stub.unaryCall(request, responseObserver);
verify(channel).newCall(same(TestServiceGrpc.getUnaryCallMethod()), same(options2));
}
@Test
public void testEmptyWithBlockingClient() {
EmptyProtos.Empty empty = TestServiceGrpc.newBlockingStub(channel)
.emptyCall(EmptyProtos.Empty.newBuilder().build());
assertThat(empty).isNotNull();
}
@Test
public void testUnaryMethodWithBlockingClient() {
Messages.SimpleResponse response = TestServiceGrpc.newBlockingStub(channel)
.unaryCall(Messages.SimpleRequest.newBuilder().build());
assertThat(response).isNotNull();
}