use of org.apache.servicecomb.provider.springmvc.reference.CseClientHttpResponse in project incubator-servicecomb-java-chassis by apache.
the class CseAsyncClientHttpRequestTest method testNormal.
@Test
public void testNormal() {
Holder<Invocation> holder = new Holder<>();
CseAsyncClientHttpRequest client = new CseAsyncClientHttpRequest(URI.create("cse://defaultMicroservice/" + CseAsyncClientHttpRequestTest.CseAsyncClientHttpRequestTestSchema.class.getSimpleName() + "/testbytes"), HttpMethod.POST) {
@Override
protected CompletableFuture<ClientHttpResponse> doAsyncInvoke(Invocation invocation) {
CompletableFuture<ClientHttpResponse> completableFuture = new CompletableFuture<>();
holder.value = invocation;
completableFuture.complete(new CseClientHttpResponse(Response.ok("result")));
return completableFuture;
}
};
byte[] body = "abc".getBytes();
client.setRequestBody(body);
client.executeAsync();
Assert.assertArrayEquals(body, (byte[]) holder.value.getInvocationArguments().get("input"));
}
use of org.apache.servicecomb.provider.springmvc.reference.CseClientHttpResponse in project incubator-servicecomb-java-chassis by apache.
the class CseAsyncClientHttpRequestTest method testFail.
@Test
public void testFail() {
Throwable error = new Error("failed");
Response response = Response.createConsumerFail(error);
CseAsyncClientHttpRequest client = new CseAsyncClientHttpRequest(URI.create("cse://defaultMicroservice/" + CseAsyncClientHttpRequestTest.CseAsyncClientHttpRequestTestSchema.class.getSimpleName() + "/testbytes"), HttpMethod.POST) {
@Override
protected CompletableFuture<ClientHttpResponse> doAsyncInvoke(Invocation invocation) {
CompletableFuture<ClientHttpResponse> completableFuture = new CompletableFuture<>();
completableFuture.complete(new CseClientHttpResponse(response));
return completableFuture;
}
};
ListenableFuture<ClientHttpResponse> future = client.executeAsync();
future.addCallback(new ListenableFutureCallback<ClientHttpResponse>() {
@Override
public void onFailure(Throwable ex) {
Assert.assertSame(error, ex);
}
@Override
public void onSuccess(ClientHttpResponse result) {
}
});
}
Aggregations