Search in sources :

Example 31 with OperationMeta

use of io.servicecomb.core.definition.OperationMeta in project java-chassis by ServiceComb.

the class RestTransportClient method send.

public void send(Invocation invocation, AsyncResponse asyncResp) throws Exception {
    HttpClientWithContext httpClientWithContext = clientMgr.findThreadBindClientPool();
    OperationMeta operationMeta = invocation.getOperationMeta();
    RestOperationMeta swaggerRestOperation = operationMeta.getExtData(RestConst.SWAGGER_REST_OPERATION);
    String method = swaggerRestOperation.getHttpMethod();
    try {
        VertxHttpMethod httpMethod = HttpMethodFactory.findHttpMethodInstance(method);
        httpMethod.doMethod(httpClientWithContext, invocation, asyncResp);
    } catch (Exception e) {
        asyncResp.fail(invocation.getInvocationType(), e);
        LOGGER.error("vertx rest transport send error.", e);
    }
}
Also used : RestOperationMeta(io.servicecomb.common.rest.definition.RestOperationMeta) VertxHttpMethod(io.servicecomb.transport.rest.client.http.VertxHttpMethod) HttpClientWithContext(io.servicecomb.foundation.vertx.client.http.HttpClientWithContext) OperationMeta(io.servicecomb.core.definition.OperationMeta) RestOperationMeta(io.servicecomb.common.rest.definition.RestOperationMeta)

Example 32 with OperationMeta

use of io.servicecomb.core.definition.OperationMeta in project java-chassis by ServiceComb.

the class TestVertxHttpMethod method testSetCseContext.

@Test
public void testSetCseContext() {
    boolean status = false;
    try {
        Invocation invocation = Mockito.mock(Invocation.class);
        HttpClientResponse httpResponse = Mockito.mock(HttpClientResponse.class);
        OperationMeta operationMeta = Mockito.mock(OperationMeta.class);
        RestOperationMeta swaggerRestOperation = Mockito.mock(RestOperationMeta.class);
        HttpClientRequest request = Mockito.mock(HttpClientRequest.class);
        Endpoint endpoint = Mockito.mock(Endpoint.class);
        Mockito.when(invocation.getOperationMeta()).thenReturn(operationMeta);
        URLPathBuilder urlPathBuilder = Mockito.mock(URLPathBuilder.class);
        Mockito.when(swaggerRestOperation.getPathBuilder()).thenReturn(urlPathBuilder);
        operationMeta.getExtData(RestConst.SWAGGER_REST_OPERATION);
        Mockito.when(operationMeta.getExtData(RestConst.SWAGGER_REST_OPERATION)).thenReturn(swaggerRestOperation);
        Mockito.when(invocation.getEndpoint()).thenReturn(endpoint);
        String contentType = httpResponse.getHeader("Content-Type");
        ProduceProcessor produceProcessor = Mockito.mock(ProduceProcessor.class);
        Mockito.when(swaggerRestOperation.findProduceProcessor(contentType)).thenReturn(produceProcessor);
        this.setCseContext(invocation, request);
    } catch (Exception ex) {
        status = true;
    }
    Assert.assertFalse(status);
}
Also used : HttpClientRequest(io.vertx.core.http.HttpClientRequest) ProduceProcessor(io.servicecomb.common.rest.codec.produce.ProduceProcessor) Invocation(io.servicecomb.core.Invocation) Endpoint(io.servicecomb.core.Endpoint) RestOperationMeta(io.servicecomb.common.rest.definition.RestOperationMeta) HttpClientResponse(io.vertx.core.http.HttpClientResponse) URLPathBuilder(io.servicecomb.common.rest.definition.path.URLPathBuilder) OperationMeta(io.servicecomb.core.definition.OperationMeta) RestOperationMeta(io.servicecomb.common.rest.definition.RestOperationMeta) Test(org.junit.Test)

Example 33 with OperationMeta

use of io.servicecomb.core.definition.OperationMeta in project java-chassis by ServiceComb.

the class TestVertxHttpMethod method testHandleResponse.

@Test
public void testHandleResponse() {
    boolean status = false;
    try {
        Invocation invocation = Mockito.mock(Invocation.class);
        AsyncResponse asyncResp = Mockito.mock(AsyncResponse.class);
        HttpClientResponse httpResponse = Mockito.mock(HttpClientResponse.class);
        OperationMeta operationMeta = Mockito.mock(OperationMeta.class);
        RestOperationMeta swaggerRestOperation = Mockito.mock(RestOperationMeta.class);
        Endpoint endpoint = Mockito.mock(Endpoint.class);
        Mockito.when(invocation.getOperationMeta()).thenReturn(operationMeta);
        URLPathBuilder urlPathBuilder = Mockito.mock(URLPathBuilder.class);
        Mockito.when(swaggerRestOperation.getPathBuilder()).thenReturn(urlPathBuilder);
        operationMeta.getExtData(RestConst.SWAGGER_REST_OPERATION);
        Mockito.when(operationMeta.getExtData(RestConst.SWAGGER_REST_OPERATION)).thenReturn(swaggerRestOperation);
        Mockito.when(invocation.getEndpoint()).thenReturn(endpoint);
        String contentType = httpResponse.getHeader("Content-Type");
        ProduceProcessor produceProcessor = Mockito.mock(ProduceProcessor.class);
        Mockito.when(swaggerRestOperation.findProduceProcessor(contentType)).thenReturn(produceProcessor);
        this.handleResponse(invocation, httpResponse, swaggerRestOperation, asyncResp);
    } catch (Exception ex) {
        status = true;
    }
    Assert.assertFalse(status);
}
Also used : ProduceProcessor(io.servicecomb.common.rest.codec.produce.ProduceProcessor) Invocation(io.servicecomb.core.Invocation) Endpoint(io.servicecomb.core.Endpoint) RestOperationMeta(io.servicecomb.common.rest.definition.RestOperationMeta) HttpClientResponse(io.vertx.core.http.HttpClientResponse) URLPathBuilder(io.servicecomb.common.rest.definition.path.URLPathBuilder) OperationMeta(io.servicecomb.core.definition.OperationMeta) RestOperationMeta(io.servicecomb.common.rest.definition.RestOperationMeta) AsyncResponse(io.servicecomb.core.AsyncResponse) Test(org.junit.Test)

Example 34 with OperationMeta

use of io.servicecomb.core.definition.OperationMeta in project java-chassis by ServiceComb.

the class TestGenericServletMockRequest method testGenericServletMockRequest.

@Test
public void testGenericServletMockRequest() throws Exception {
    Invocation invocation = Mockito.mock(Invocation.class);
    OperationMeta operationMeta = Mockito.mock(OperationMeta.class);
    Mockito.when(invocation.getOperationMeta()).thenReturn(operationMeta);
    RestOperationMeta swaggerOperation = Mockito.mock(RestOperationMeta.class);
    Mockito.when(operationMeta.getExtData(RestConst.SWAGGER_REST_OPERATION)).thenReturn(swaggerOperation);
    GenericServletMockRequest lGenericServletMockRequest = new GenericServletMockRequest(invocation);
    URLPathBuilder uRLPathBuilder = Mockito.mock(URLPathBuilder.class);
    Mockito.when(swaggerOperation.getPathBuilder()).thenReturn(uRLPathBuilder);
    Mockito.when(swaggerOperation.getPathBuilder().createPathString(null)).thenReturn("test");
    RestParam param = Mockito.mock(RestParam.class);
    Mockito.when(swaggerOperation.getParamByName("1")).thenReturn(param);
    Mockito.when(param.getValue(null)).thenReturn("1");
    List<RestParam> restParam = new ArrayList<>();
    restParam.add(param);
    Mockito.when(swaggerOperation.getParamList()).thenReturn(restParam);
    Assert.assertEquals("1", lGenericServletMockRequest.getParameter("1"));
    Assert.assertNull(lGenericServletMockRequest.getParameterValues("1"));
    Assert.assertEquals("1", lGenericServletMockRequest.getHeader("1"));
    Assert.assertEquals(1, lGenericServletMockRequest.getIntHeader("1"));
    Assert.assertEquals("test", lGenericServletMockRequest.getServletPath());
    Mockito.when(swaggerOperation.getParamByName("test")).thenReturn(null);
    Assert.assertEquals(null, lGenericServletMockRequest.getParameter("test"));
    Assert.assertNull(lGenericServletMockRequest.getParameterValues("test"));
    Map<String, String[]> paramMap = new HashMap<String, String[]>();
    paramMap.put(null, null);
    Assert.assertEquals(paramMap, lGenericServletMockRequest.getParameterMap());
    try {
        lGenericServletMockRequest.getAttribute("");
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getAttributeNames();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getCharacterEncoding();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.setCharacterEncoding("");
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getContentLength();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getContentLengthLong();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getContentType();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getInputStream();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getParameterNames();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getProtocol();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getScheme();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getServerName();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getServerPort();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getReader();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getRemoteAddr();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getRemoteHost();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.setAttribute("", "");
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.removeAttribute("");
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getLocale();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getLocales();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.isSecure();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getRequestDispatcher("");
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getRealPath("");
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getRemotePort();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getLocalName();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getLocalAddr();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getLocalPort();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getServletContext();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.startAsync();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.startAsync(null, null);
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.isAsyncStarted();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.isAsyncSupported();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getAsyncContext();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getDispatcherType();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getAuthType();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getCookies();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getDateHeader("");
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getHeaders("");
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getHeaderNames();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getPathTranslated();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getContextPath();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getQueryString();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getRemoteUser();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.isUserInRole("");
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getUserPrincipal();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getRequestedSessionId();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getRequestURI();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getRequestURL();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getSession(true);
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getSession();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.changeSessionId();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.isRequestedSessionIdValid();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.isRequestedSessionIdFromCookie();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.isRequestedSessionIdFromURL();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.isRequestedSessionIdFromUrl();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.authenticate(null);
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.login("", "");
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.logout();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getParts();
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.getPart("");
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    try {
        lGenericServletMockRequest.upgrade(null);
    } catch (Error e) {
        Assert.assertEquals("not supported method", e.getMessage());
    }
    Assert.assertNull(lGenericServletMockRequest.getMethod());
    Assert.assertEquals("test", lGenericServletMockRequest.getPathInfo());
}
Also used : Invocation(io.servicecomb.core.Invocation) RestOperationMeta(io.servicecomb.common.rest.definition.RestOperationMeta) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) URLPathBuilder(io.servicecomb.common.rest.definition.path.URLPathBuilder) OperationMeta(io.servicecomb.core.definition.OperationMeta) RestOperationMeta(io.servicecomb.common.rest.definition.RestOperationMeta) RestParam(io.servicecomb.common.rest.definition.RestParam) Test(org.junit.Test)

Example 35 with OperationMeta

use of io.servicecomb.core.definition.OperationMeta in project java-chassis by ServiceComb.

the class MockUtil method mockAbstractServiceProvider.

public void mockAbstractServiceProvider() {
    new MockUp<AbstractProducerProvider>() {

        @SuppressWarnings("unchecked")
        @Mock
        protected <T> T findProviderSchema(OperationMeta operationMeta) {
            PojoProducerMeta lPojoSchemaMeta = Mockito.mock(PojoProducerMeta.class);
            Mockito.when(lPojoSchemaMeta.getInstance()).thenReturn(lPojoSchemaMeta);
            return (T) lPojoSchemaMeta;
        }
    };
}
Also used : PojoProducerMeta(io.servicecomb.provider.pojo.schema.PojoProducerMeta) MockUp(mockit.MockUp) OperationMeta(io.servicecomb.core.definition.OperationMeta)

Aggregations

OperationMeta (io.servicecomb.core.definition.OperationMeta)36 Test (org.junit.Test)18 Invocation (io.servicecomb.core.Invocation)15 RestOperationMeta (io.servicecomb.common.rest.definition.RestOperationMeta)12 OperationProtobuf (io.servicecomb.codec.protobuf.definition.OperationProtobuf)8 SchemaMeta (io.servicecomb.core.definition.SchemaMeta)8 MockUp (mockit.MockUp)7 WrapSchema (io.servicecomb.codec.protobuf.utils.WrapSchema)6 AsyncResponse (io.servicecomb.core.AsyncResponse)6 Endpoint (io.servicecomb.core.Endpoint)6 Response (io.servicecomb.core.Response)5 InvocationException (io.servicecomb.core.exception.InvocationException)5 HttpClientResponse (io.vertx.core.http.HttpClientResponse)5 URLPathBuilder (io.servicecomb.common.rest.definition.path.URLPathBuilder)4 MicroserviceMeta (io.servicecomb.core.definition.MicroserviceMeta)4 HttpClientWithContext (io.servicecomb.foundation.vertx.client.http.HttpClientWithContext)4 Buffer (io.vertx.core.buffer.Buffer)4 ConsumerOperationMeta (io.servicecomb.core.provider.consumer.ConsumerOperationMeta)3 IpPort (io.servicecomb.foundation.common.net.IpPort)3 HttpClientRequest (io.vertx.core.http.HttpClientRequest)3