Search in sources :

Example 6 with CseClientHttpResponse

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"));
}
Also used : CompletableFuture(java.util.concurrent.CompletableFuture) Invocation(org.apache.servicecomb.core.Invocation) CseClientHttpResponse(org.apache.servicecomb.provider.springmvc.reference.CseClientHttpResponse) Holder(org.apache.servicecomb.foundation.common.Holder) CseClientHttpResponse(org.apache.servicecomb.provider.springmvc.reference.CseClientHttpResponse) ClientHttpResponse(org.springframework.http.client.ClientHttpResponse) Test(org.junit.Test)

Example 7 with CseClientHttpResponse

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) {
        }
    });
}
Also used : Invocation(org.apache.servicecomb.core.Invocation) CseClientHttpResponse(org.apache.servicecomb.provider.springmvc.reference.CseClientHttpResponse) Response(org.apache.servicecomb.swagger.invocation.Response) ClientHttpResponse(org.springframework.http.client.ClientHttpResponse) CompletableFuture(java.util.concurrent.CompletableFuture) CseClientHttpResponse(org.apache.servicecomb.provider.springmvc.reference.CseClientHttpResponse) CseClientHttpResponse(org.apache.servicecomb.provider.springmvc.reference.CseClientHttpResponse) ClientHttpResponse(org.springframework.http.client.ClientHttpResponse) Test(org.junit.Test)

Aggregations

CseClientHttpResponse (org.apache.servicecomb.provider.springmvc.reference.CseClientHttpResponse)7 CompletableFuture (java.util.concurrent.CompletableFuture)6 ClientHttpResponse (org.springframework.http.client.ClientHttpResponse)6 Invocation (org.apache.servicecomb.core.Invocation)4 Response (org.apache.servicecomb.swagger.invocation.Response)4 Test (org.junit.Test)4 Holder (org.apache.servicecomb.foundation.common.Holder)2