Search in sources :

Example 26 with Foo

use of com.linkedin.pegasus.generator.examples.Foo in project rest.li by linkedin.

the class TestBatchFinderResponseBuilder method generateResultsWithErrors.

@SuppressWarnings("deprecation")
private static BatchFinderResult<Foo, Foo, Foo> generateResultsWithErrors(List<Criteria> criteria) {
    BatchFinderResult<Foo, Foo, Foo> results = new BatchFinderResult<>();
    for (int i = 0; i < criteria.size(); i++) {
        if (i % 2 == 0) {
            criteria.get(i).onError = true;
            RestLiServiceException ex = new RestLiServiceException(HttpStatus.S_500_INTERNAL_SERVER_ERROR);
            ex.setServiceErrorCode(criteria.get(i).criteria.getIntField());
            results.putError(criteria.get(i).criteria, ex);
        } else {
            List<Foo> items = generateTestList(criteria.get(i).criteria);
            results.putResult(criteria.get(i).criteria, new CollectionResult<>(items));
        }
    }
    return results;
}
Also used : RestLiServiceException(com.linkedin.restli.server.RestLiServiceException) Foo(com.linkedin.pegasus.generator.examples.Foo) BatchFinderResult(com.linkedin.restli.server.BatchFinderResult)

Example 27 with Foo

use of com.linkedin.pegasus.generator.examples.Foo in project rest.li by linkedin.

the class TestCreateResponseBuilder method returnEntityDataProvider.

@DataProvider(name = "returnEntityData")
public Object[][] returnEntityDataProvider() {
    CreateResponse createResponse = new CreateResponse(null, HttpStatus.S_201_CREATED);
    Foo entity = new Foo().setStringField("value").setFruitsField(Fruits.APPLE);
    CreateKVResponse<Integer, Foo> createKVResponse = new CreateKVResponse<>(null, entity);
    return new Object[][] { { createResponse, true, false }, { createResponse, false, false }, { createKVResponse, true, true }, { createKVResponse, false, false } };
}
Also used : CreateResponse(com.linkedin.restli.server.CreateResponse) Foo(com.linkedin.pegasus.generator.examples.Foo) CreateKVResponse(com.linkedin.restli.server.CreateKVResponse) DataProvider(org.testng.annotations.DataProvider)

Example 28 with Foo

use of com.linkedin.pegasus.generator.examples.Foo in project rest.li by linkedin.

the class TestCreateResponseBuilder method testProjectionInBuildRestLiResponseData.

@Test
public void testProjectionInBuildRestLiResponseData() throws URISyntaxException {
    MaskTree maskTree = new MaskTree();
    maskTree.addOperation(new PathSpec("fruitsField"), MaskOperation.POSITIVE_MASK_OP);
    ServerResourceContext mockContext = EasyMock.createMock(ServerResourceContext.class);
    EasyMock.expect(mockContext.isReturnEntityRequested()).andReturn(true);
    EasyMock.expect(mockContext.getProjectionMask()).andReturn(maskTree);
    EasyMock.expect(mockContext.getProjectionMode()).andReturn(ProjectionMode.AUTOMATIC);
    EasyMock.expect(mockContext.getRawRequestContext()).andReturn(new RequestContext()).anyTimes();
    EasyMock.expect(mockContext.getAlwaysProjectedFields()).andReturn(Collections.emptySet()).anyTimes();
    EasyMock.replay(mockContext);
    RoutingResult routingResult = new RoutingResult(mockContext, null);
    Foo value = new Foo().setStringField("value").setFruitsField(Fruits.APPLE);
    CreateKVResponse<Integer, Foo> values = new CreateKVResponse<>(null, value);
    CreateResponseBuilder responseBuilder = new CreateResponseBuilder();
    RestLiResponseData<CreateResponseEnvelope> envelope = responseBuilder.buildRestLiResponseData(new RestRequestBuilder(new URI("/foo")).build(), routingResult, values, Collections.emptyMap(), Collections.emptyList());
    RecordTemplate record = envelope.getResponseEnvelope().getRecord();
    Assert.assertEquals(record.data().size(), 1);
    Assert.assertEquals(record.data().get("fruitsField"), Fruits.APPLE.toString());
    Assert.assertTrue(envelope.getResponseEnvelope().isGetAfterCreate());
    EasyMock.verify(mockContext);
}
Also used : Foo(com.linkedin.pegasus.generator.examples.Foo) PathSpec(com.linkedin.data.schema.PathSpec) URI(java.net.URI) RoutingResult(com.linkedin.restli.internal.server.RoutingResult) MaskTree(com.linkedin.data.transform.filter.request.MaskTree) ServerResourceContext(com.linkedin.restli.internal.server.ServerResourceContext) RecordTemplate(com.linkedin.data.template.RecordTemplate) RestRequestBuilder(com.linkedin.r2.message.rest.RestRequestBuilder) RequestContext(com.linkedin.r2.message.RequestContext) CreateKVResponse(com.linkedin.restli.server.CreateKVResponse) Test(org.testng.annotations.Test)

Example 29 with Foo

use of com.linkedin.pegasus.generator.examples.Foo in project rest.li by linkedin.

the class TestResponseMetadata method buildFooRecord.

private Foo buildFooRecord() {
    DataMap map = new DataMap();
    map.put("text", "test Foo");
    Foo foo = new Foo(map);
    return foo;
}
Also used : Foo(com.linkedin.pegasus.generator.examples.Foo) DataMap(com.linkedin.data.DataMap)

Example 30 with Foo

use of com.linkedin.pegasus.generator.examples.Foo in project rest.li by linkedin.

the class TestBatchCreateResponseBuilder method createKVResultBuilderTestData.

@DataProvider(name = "createKVResultBuilderTestData")
public Object[][] createKVResultBuilderTestData() {
    Map<String, AlternativeKey<?, ?>> alternativeKeyMap = new HashMap<>();
    alternativeKeyMap.put("alt", new AlternativeKey<>(new TestKeyCoercer(), String.class, new StringDataSchema()));
    Foo foo1 = new Foo();
    foo1.setStringField("foo1");
    Foo foo2 = new Foo();
    foo2.setStringField("foo2");
    List<CreateIdEntityStatus<Long, Foo>> expectedResponses = new ArrayList<>(2);
    expectedResponses.add(new CreateIdEntityStatus<>(201, 1L, foo1, "/foo/1", null, AllProtocolVersions.RESTLI_PROTOCOL_2_0_0.getProtocolVersion()));
    expectedResponses.add(new CreateIdEntityStatus<>(201, 2L, foo2, "/foo/2", null, AllProtocolVersions.RESTLI_PROTOCOL_2_0_0.getProtocolVersion()));
    List<CreateIdEntityStatus<String, Foo>> expectedAltResponses = new ArrayList<>(2);
    expectedAltResponses.add(new CreateIdEntityStatus<>(201, "Alt1", foo1, "/foo/Alt1?altkey=alt", null, AllProtocolVersions.RESTLI_PROTOCOL_2_0_0.getProtocolVersion()));
    expectedAltResponses.add(new CreateIdEntityStatus<>(201, "Alt2", foo2, "/foo/Alt2?altkey=alt", null, AllProtocolVersions.RESTLI_PROTOCOL_2_0_0.getProtocolVersion()));
    return new Object[][] { { null, null, expectedResponses }, { "alt", alternativeKeyMap, expectedAltResponses } };
}
Also used : CreateIdEntityStatus(com.linkedin.restli.common.CreateIdEntityStatus) HashMap(java.util.HashMap) Foo(com.linkedin.pegasus.generator.examples.Foo) ArrayList(java.util.ArrayList) StringDataSchema(com.linkedin.data.schema.StringDataSchema) AlternativeKey(com.linkedin.restli.server.AlternativeKey) DataProvider(org.testng.annotations.DataProvider)

Aggregations

Foo (com.linkedin.pegasus.generator.examples.Foo)32 RoutingResult (com.linkedin.restli.internal.server.RoutingResult)16 Test (org.testng.annotations.Test)16 ServerResourceContext (com.linkedin.restli.internal.server.ServerResourceContext)14 ResourceMethodDescriptor (com.linkedin.restli.internal.server.model.ResourceMethodDescriptor)10 ArrayList (java.util.ArrayList)10 HashMap (java.util.HashMap)10 DataProvider (org.testng.annotations.DataProvider)10 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)9 MaskTree (com.linkedin.data.transform.filter.request.MaskTree)8 RestRequestBuilder (com.linkedin.r2.message.rest.RestRequestBuilder)8 DataMap (com.linkedin.data.DataMap)7 CreateKVResponse (com.linkedin.restli.server.CreateKVResponse)7 URI (java.net.URI)7 PathSpec (com.linkedin.data.schema.PathSpec)6 RecordTemplate (com.linkedin.data.template.RecordTemplate)5 RestRequest (com.linkedin.r2.message.rest.RestRequest)5 CompoundKey (com.linkedin.restli.common.CompoundKey)5 BatchResult (com.linkedin.restli.server.BatchResult)5 RequestContext (com.linkedin.r2.message.RequestContext)4