Search in sources :

Example 1 with Request

use of com.google.api.server.spi.testing.TestEndpoint.Request in project endpoints-java by cloudendpoints.

the class ServletRequestParamReaderTest method testReadMultipleResourcesTest.

@Test
public void testReadMultipleResourcesTest() throws Exception {
    class TestMultipleResources {

        @SuppressWarnings("unused")
        public void foo(@Named("str") String string, @Named("integer_array") Integer[] integers, @Named("integer_collection") Collection<Integer> ints, Request request) {
        }
    }
    String requestString = "{\"str\":\"hello\",\"" + TestEndpoint.NAME_STRING + "\":\"" + VALUE_STRING + "\",\"" + TestEndpoint.NAME_INTEGER + "\":" + VALUE_INTEGER + ",\"integer_array\":[1,2,3]," + "\"integer_collection\":[4,5,6], \"stringValue\":" + "\"321\", \"integerValue\":321}";
    Method method = TestMultipleResources.class.getDeclaredMethod("foo", String.class, Integer[].class, Collection.class, Request.class);
    Object[] params = readParameters(requestString, method);
    assertEquals(4, params.length);
    String string = (String) params[0];
    assertEquals("hello", string);
    Integer[] integers = (Integer[]) params[1];
    assertEquals(3, integers.length);
    assertEquals(1, (int) integers[0]);
    assertEquals(2, (int) integers[1]);
    assertEquals(3, (int) integers[2]);
    @SuppressWarnings("unchecked") Collection<Integer> ints = (Collection<Integer>) params[2];
    assertEquals(3, ints.size());
    Iterator<Integer> iterator = ints.iterator();
    assertEquals(4, (int) iterator.next());
    assertEquals(5, (int) iterator.next());
    assertEquals(6, (int) iterator.next());
    Request request = (Request) params[3];
    assertEquals("321", request.getStringValue());
    assertEquals(321, (int) request.getIntegerValue());
}
Also used : Named(com.google.api.server.spi.config.Named) HttpServletRequest(javax.servlet.http.HttpServletRequest) Request(com.google.api.server.spi.testing.TestEndpoint.Request) Collection(java.util.Collection) Method(java.lang.reflect.Method) EndpointMethod(com.google.api.server.spi.EndpointMethod) Test(org.junit.Test)

Aggregations

EndpointMethod (com.google.api.server.spi.EndpointMethod)1 Named (com.google.api.server.spi.config.Named)1 Request (com.google.api.server.spi.testing.TestEndpoint.Request)1 Method (java.lang.reflect.Method)1 Collection (java.util.Collection)1 HttpServletRequest (javax.servlet.http.HttpServletRequest)1 Test (org.junit.Test)1