Search in sources :

Example 6 with HighLevelRecordWithDefault

use of com.linkedin.restli.examples.defaults.api.HighLevelRecordWithDefault in project rest.li by linkedin.

the class TestFillInDefaultValue method testFillInDefaultFinder.

@Test(dataProvider = "testFinderData")
public void testFillInDefaultFinder(Integer fieldA, List<HighLevelRecordWithDefault> expectedElements, CollectionMetadata expectedCollection, LowLevelRecordWithDefault expectedMetadata) throws RemoteInvocationException {
    FillInDefaultsRequestBuilders builders = new FillInDefaultsRequestBuilders();
    FindRequest<HighLevelRecordWithDefault> request = builders.findByFindRecords().setParam(RestConstants.FILL_IN_DEFAULTS_PARAM, true).setParam("noDefaultFieldA", fieldA).build();
    CollectionResponse<HighLevelRecordWithDefault> actual = getClient().sendRequest(request).getResponse().getEntity();
    Assert.assertEquals(actual.getElements(), expectedElements);
    Assert.assertEquals(actual.getPaging(), expectedCollection);
    Assert.assertEquals(actual.getMetadataRaw(), expectedMetadata.data());
}
Also used : FillInDefaultsRequestBuilders(com.linkedin.restli.examples.defaults.api.FillInDefaultsRequestBuilders) HighLevelRecordWithDefault(com.linkedin.restli.examples.defaults.api.HighLevelRecordWithDefault) Test(org.testng.annotations.Test)

Example 7 with HighLevelRecordWithDefault

use of com.linkedin.restli.examples.defaults.api.HighLevelRecordWithDefault in project rest.li by linkedin.

the class TestFillInDefaultValue method testFinderData.

@DataProvider(name = "testFinderData")
private Object[][] testFinderData() throws CloneNotSupportedException {
    final int total = 3;
    List<HighLevelRecordWithDefault> elements = new ArrayList<>();
    for (int i = 0; i < total; i++) {
        elements.add(new HighLevelRecordWithDefault(expectedTestData.clone()).setNoDefaultFieldA(2));
    }
    CollectionMetadata collectionMetadata = new CollectionMetadata().setLinks(new LinkArray()).setCount(10).setTotal(3).setStart(0);
    LowLevelRecordWithDefault metadata = new LowLevelRecordWithDefault();
    metadata.setNameWithDefault(metadata.getNameWithDefault());
    return new Object[][] { { 2, elements, collectionMetadata, metadata } };
}
Also used : CollectionMetadata(com.linkedin.restli.common.CollectionMetadata) LinkArray(com.linkedin.restli.common.LinkArray) ArrayList(java.util.ArrayList) LowLevelRecordWithDefault(com.linkedin.restli.examples.defaults.api.LowLevelRecordWithDefault) HighLevelRecordWithDefault(com.linkedin.restli.examples.defaults.api.HighLevelRecordWithDefault) DataProvider(org.testng.annotations.DataProvider)

Example 8 with HighLevelRecordWithDefault

use of com.linkedin.restli.examples.defaults.api.HighLevelRecordWithDefault in project rest.li by linkedin.

the class TestFillInDefaultValue method testFillInDefaultGetAll.

@Test(dataProvider = "testGetAllData")
public void testFillInDefaultGetAll(List<HighLevelRecordWithDefault> expectedElements, CollectionMetadata expectedCollectionMetadata, LowLevelRecordWithDefault expectedMetadata) throws RemoteInvocationException {
    FillInDefaultsRequestBuilders builders = new FillInDefaultsRequestBuilders();
    GetAllRequest<HighLevelRecordWithDefault> request = builders.getAll().setParam(RestConstants.FILL_IN_DEFAULTS_PARAM, true).build();
    CollectionResponse<HighLevelRecordWithDefault> actual = getClient().sendRequest(request).getResponse().getEntity();
    Assert.assertEquals(actual.getElements(), expectedElements);
    Assert.assertEquals(actual.getPaging(), expectedCollectionMetadata);
    Assert.assertEquals(actual.getMetadataRaw(), expectedMetadata.data());
}
Also used : FillInDefaultsRequestBuilders(com.linkedin.restli.examples.defaults.api.FillInDefaultsRequestBuilders) HighLevelRecordWithDefault(com.linkedin.restli.examples.defaults.api.HighLevelRecordWithDefault) Test(org.testng.annotations.Test)

Example 9 with HighLevelRecordWithDefault

use of com.linkedin.restli.examples.defaults.api.HighLevelRecordWithDefault in project rest.li by linkedin.

the class TestFillInDefaultValue method testFillInDefaultAction.

@Test(dataProvider = "testActionData")
public void testFillInDefaultAction(Long actionParam) throws RemoteInvocationException {
    FillInDefaultsRequestBuilders builders = new FillInDefaultsRequestBuilders();
    ActionRequest<HighLevelRecordWithDefault> request = builders.actionDefaultFillAction().actionParamParam(actionParam).setParam(RestConstants.FILL_IN_DEFAULTS_PARAM, true).build();
    HighLevelRecordWithDefault actual = getClient().sendRequest(request).getResponse().getEntity();
    HighLevelRecordWithDefault expect = new HighLevelRecordWithDefault(expectedTestData).setNoDefaultFieldA(Math.toIntExact(actionParam));
    Assert.assertEquals(actual, expect);
}
Also used : FillInDefaultsRequestBuilders(com.linkedin.restli.examples.defaults.api.FillInDefaultsRequestBuilders) HighLevelRecordWithDefault(com.linkedin.restli.examples.defaults.api.HighLevelRecordWithDefault) Test(org.testng.annotations.Test)

Example 10 with HighLevelRecordWithDefault

use of com.linkedin.restli.examples.defaults.api.HighLevelRecordWithDefault in project rest.li by linkedin.

the class TestFillInDefaultValue method testFillInDefaultBatchFinder.

@Test(dataProvider = "testBatchFinderData")
public void testFillInDefaultBatchFinder(Object[] criteria, HighLevelRecordWithDefault[] expected) throws RemoteInvocationException {
    FillInDefaultsRequestBuilders builders = new FillInDefaultsRequestBuilders();
    BatchFindRequest<HighLevelRecordWithDefault> request = builders.batchFindBySearchRecords().addCriteriaParam((RecordCriteria) criteria[0]).addCriteriaParam((RecordCriteria) criteria[1]).setParam(RestConstants.FILL_IN_DEFAULTS_PARAM, true).build();
    List<BatchFinderCriteriaResult<HighLevelRecordWithDefault>> batchFinderCriteriaResults = getClient().sendRequest(request).getResponse().getEntity().getResults();
    Set<HighLevelRecordWithDefault> actualActionResponse = new HashSet<>();
    for (BatchFinderCriteriaResult<HighLevelRecordWithDefault> result : batchFinderCriteriaResults) {
        actualActionResponse.addAll(result.getElements());
    }
    Set<HighLevelRecordWithDefault> expectedActionResponse = new HashSet<>(Arrays.asList(expected));
    Assert.assertEquals(actualActionResponse, expectedActionResponse);
}
Also used : BatchFinderCriteriaResult(com.linkedin.restli.common.BatchFinderCriteriaResult) RecordCriteria(com.linkedin.restli.examples.defaults.api.RecordCriteria) FillInDefaultsRequestBuilders(com.linkedin.restli.examples.defaults.api.FillInDefaultsRequestBuilders) HighLevelRecordWithDefault(com.linkedin.restli.examples.defaults.api.HighLevelRecordWithDefault) HashSet(java.util.HashSet) Test(org.testng.annotations.Test)

Aggregations

HighLevelRecordWithDefault (com.linkedin.restli.examples.defaults.api.HighLevelRecordWithDefault)16 FillInDefaultsRequestBuilders (com.linkedin.restli.examples.defaults.api.FillInDefaultsRequestBuilders)8 Test (org.testng.annotations.Test)8 DataProvider (org.testng.annotations.DataProvider)6 LowLevelRecordWithDefault (com.linkedin.restli.examples.defaults.api.LowLevelRecordWithDefault)5 ArrayList (java.util.ArrayList)4 CollectionMetadata (com.linkedin.restli.common.CollectionMetadata)3 LinkArray (com.linkedin.restli.common.LinkArray)3 DataMap (com.linkedin.data.DataMap)2 FillInDefaultsGetRequestBuilder (com.linkedin.restli.examples.defaults.api.FillInDefaultsGetRequestBuilder)2 RecordCriteria (com.linkedin.restli.examples.defaults.api.RecordCriteria)2 CollectionResult (com.linkedin.restli.server.CollectionResult)2 BatchFinderCriteriaResult (com.linkedin.restli.common.BatchFinderCriteriaResult)1 EntityResponse (com.linkedin.restli.common.EntityResponse)1 BatchFinder (com.linkedin.restli.server.annotations.BatchFinder)1 Finder (com.linkedin.restli.server.annotations.Finder)1 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 LinkedList (java.util.LinkedList)1 Map (java.util.Map)1