use of io.servicecomb.common.rest.definition.RestParam in project java-chassis by ServiceComb.
the class RestCodec method argsToRest.
public static void argsToRest(Object[] args, RestOperationMeta restOperation, RestClientRequest clientRequest) throws Exception {
int paramSize = restOperation.getParamList().size();
if (paramSize == 0) {
return;
}
if (paramSize != args.length) {
throw new Exception("wrong number of arguments");
}
for (int idx = 0; idx < paramSize; idx++) {
RestParam param = restOperation.getParamList().get(idx);
param.getParamProcessor().setValue(clientRequest, args[idx]);
}
}
use of io.servicecomb.common.rest.definition.RestParam in project java-chassis by ServiceComb.
the class TestRestCodec method testRestToArgsInstanceExcetpion.
@Test
public void testRestToArgsInstanceExcetpion(@Mocked RestServerRequest request, @Mocked RestOperationMeta restOperation, @Mocked RestParam restParam, @Mocked ParamValueProcessor processer) throws Exception {
List<RestParam> params = new ArrayList<>();
params.add(restParam);
InvocationException exception = new InvocationException(Status.BAD_REQUEST, "Parameter is not valid.");
new Expectations() {
{
restOperation.getParamList();
result = params;
restParam.getParamProcessor();
result = processer;
processer.getValue(request);
result = exception;
}
};
boolean success = false;
try {
RestCodec.restToArgs(request, restOperation);
success = true;
} catch (InvocationException e) {
Assert.assertEquals(e.getStatusCode(), Status.BAD_REQUEST.getStatusCode());
}
Assert.assertEquals(success, false);
}
use of io.servicecomb.common.rest.definition.RestParam in project java-chassis by ServiceComb.
the class TestRestCodec method testRestToArgsExcetpion.
@Test
public void testRestToArgsExcetpion(@Mocked RestServerRequest request, @Mocked RestOperationMeta restOperation, @Mocked RestParam restParam, @Mocked ParamValueProcessor processer) throws Exception {
List<RestParam> params = new ArrayList<>();
params.add(restParam);
new Expectations() {
{
restOperation.getParamList();
result = params;
restParam.getParamProcessor();
result = processer;
processer.getValue(request);
result = new Exception("bad request parame");
}
};
boolean success = false;
try {
RestCodec.restToArgs(request, restOperation);
success = true;
} catch (InvocationException e) {
Assert.assertEquals(590, e.getStatusCode());
Assert.assertEquals("Parameter is not valid.", ((CommonExceptionData) e.getErrorData()).getMessage());
}
Assert.assertEquals(success, false);
}
use of io.servicecomb.common.rest.definition.RestParam 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());
}
use of io.servicecomb.common.rest.definition.RestParam in project java-chassis by ServiceComb.
the class GenericServletMockRequest method getParameter.
@Override
public String getParameter(String name) {
RestParam param = swaggerOperation.getParamByName(name);
if (param == null) {
return null;
}
Object value = param.getValue(args);
if (value == null) {
return null;
}
return String.valueOf(value);
}
Aggregations