Search in sources :

Example 71 with QuerySpec

use of io.crnk.core.queryspec.QuerySpec in project crnk-framework by crnk-project.

the class JpaQuerySpecEndToEndTest method testRootPaging.

@Test
public void testRootPaging() {
    for (long i = 0; i < 5; i++) {
        TestEntity task = new TestEntity();
        task.setId(i);
        task.setStringValue("test");
        testRepo.create(task);
    }
    QuerySpec querySpec = new QuerySpec(TestEntity.class);
    querySpec.setOffset(2L);
    querySpec.setLimit(2L);
    ResourceList<TestEntity> list = testRepo.findAll(querySpec);
    Assert.assertEquals(2, list.size());
    Assert.assertEquals(2, list.get(0).getId().intValue());
    Assert.assertEquals(3, list.get(1).getId().intValue());
    JsonMetaInformation meta = list.getMeta(JsonMetaInformation.class);
    JsonLinksInformation links = list.getLinks(JsonLinksInformation.class);
    Assert.assertNotNull(meta);
    Assert.assertNotNull(links);
    String baseUri = getBaseUri().toString();
    Assert.assertEquals(baseUri + "test?page[limit]=2", links.asJsonNode().get("first").asText());
    Assert.assertEquals(baseUri + "test?page[limit]=2&page[offset]=4", links.asJsonNode().get("last").asText());
    Assert.assertEquals(baseUri + "test?page[limit]=2", links.asJsonNode().get("prev").asText());
    Assert.assertEquals(baseUri + "test?page[limit]=2&page[offset]=4", links.asJsonNode().get("next").asText());
}
Also used : TestEntity(io.crnk.jpa.model.TestEntity) JsonLinksInformation(io.crnk.client.response.JsonLinksInformation) JsonMetaInformation(io.crnk.client.response.JsonMetaInformation) QuerySpec(io.crnk.core.queryspec.QuerySpec) AbstractJpaJerseyTest(io.crnk.jpa.AbstractJpaJerseyTest) Test(org.junit.Test)

Example 72 with QuerySpec

use of io.crnk.core.queryspec.QuerySpec in project crnk-framework by crnk-project.

the class JpaQuerySpecEndToEndTest method testSaveAndFind.

@Test
public void testSaveAndFind() {
    TestEntity task = new TestEntity();
    task.setId(1L);
    task.setStringValue("test");
    testRepo.create(task);
    // check retrievable with findAll
    List<TestEntity> list = testRepo.findAll(new QuerySpec(TestEntity.class));
    Assert.assertEquals(1, list.size());
    TestEntity savedTask = list.get(0);
    Assert.assertEquals(task.getId(), savedTask.getId());
    Assert.assertEquals(task.getStringValue(), savedTask.getStringValue());
    // check retrievable with findAll(ids)
    list = testRepo.findAll(Arrays.asList(1L), new QuerySpec(TestEntity.class));
    Assert.assertEquals(1, list.size());
    savedTask = list.get(0);
    Assert.assertEquals(task.getId(), savedTask.getId());
    Assert.assertEquals(task.getStringValue(), savedTask.getStringValue());
    // check retrievable with findOne
    savedTask = testRepo.findOne(1L, new QuerySpec(TestEntity.class));
    Assert.assertEquals(task.getId(), savedTask.getId());
    Assert.assertEquals(task.getStringValue(), savedTask.getStringValue());
}
Also used : TestEntity(io.crnk.jpa.model.TestEntity) QuerySpec(io.crnk.core.queryspec.QuerySpec) AbstractJpaJerseyTest(io.crnk.jpa.AbstractJpaJerseyTest) Test(org.junit.Test)

Example 73 with QuerySpec

use of io.crnk.core.queryspec.QuerySpec in project crnk-framework by crnk-project.

the class JpaQuerySpecEndToEndTest method testLazyManyRelation.

@Test
public void testLazyManyRelation() throws InstantiationException, IllegalAccessException {
    addTestWithManyRelations();
    QuerySpec querySpec = new QuerySpec(TestEntity.class);
    List<TestEntity> list = testRepo.findAll(querySpec);
    Assert.assertEquals(1, list.size());
    TestEntity testEntity = list.get(0);
    List<RelatedEntity> manyRelatedValues = testEntity.getManyRelatedValues();
    Assert.assertNotNull(manyRelatedValues);
    ObjectProxy proxy = (ObjectProxy) manyRelatedValues;
    Assert.assertFalse(proxy.isLoaded());
    Assert.assertEquals(3, manyRelatedValues.size());
    for (RelatedEntity relatedEntity : manyRelatedValues) {
        Assert.assertNotNull(relatedEntity.getStringValue());
    }
}
Also used : TestEntity(io.crnk.jpa.model.TestEntity) RelatedEntity(io.crnk.jpa.model.RelatedEntity) OtherRelatedEntity(io.crnk.jpa.model.OtherRelatedEntity) ObjectProxy(io.crnk.client.internal.proxy.ObjectProxy) QuerySpec(io.crnk.core.queryspec.QuerySpec) AbstractJpaJerseyTest(io.crnk.jpa.AbstractJpaJerseyTest) Test(org.junit.Test)

Example 74 with QuerySpec

use of io.crnk.core.queryspec.QuerySpec in project crnk-framework by crnk-project.

the class JpaQuerySpecEndToEndTest method testDelete.

@Test
public void testDelete() {
    TestEntity test = new TestEntity();
    test.setId(1L);
    test.setStringValue("test");
    testRepo.create(test);
    testRepo.delete(1L);
    List<TestEntity> list = testRepo.findAll(new QuerySpec(TestEntity.class));
    Assert.assertEquals(0, list.size());
}
Also used : TestEntity(io.crnk.jpa.model.TestEntity) QuerySpec(io.crnk.core.queryspec.QuerySpec) AbstractJpaJerseyTest(io.crnk.jpa.AbstractJpaJerseyTest) Test(org.junit.Test)

Example 75 with QuerySpec

use of io.crnk.core.queryspec.QuerySpec in project crnk-framework by crnk-project.

the class JpaQuerySpecEndToEndTest method testIncludeEmptyRelations.

@Test
public void testIncludeEmptyRelations() throws InstantiationException, IllegalAccessException {
    addTest();
    QuerySpec querySpec = new QuerySpec(TestEntity.class);
    querySpec.includeRelation(Arrays.asList(TestEntity.ATTR_oneRelatedValue));
    querySpec.includeRelation(Arrays.asList(TestEntity.ATTR_manyRelatedValues));
    List<TestEntity> list = testRepo.findAll(querySpec);
    Assert.assertEquals(1, list.size());
    for (TestEntity test : list) {
        Assert.assertNull(test.getOneRelatedValue());
        Assert.assertEquals(0, test.getManyRelatedValues().size());
    }
}
Also used : TestEntity(io.crnk.jpa.model.TestEntity) QuerySpec(io.crnk.core.queryspec.QuerySpec) AbstractJpaJerseyTest(io.crnk.jpa.AbstractJpaJerseyTest) Test(org.junit.Test)

Aggregations

QuerySpec (io.crnk.core.queryspec.QuerySpec)306 Test (org.junit.Test)233 FilterSpec (io.crnk.core.queryspec.FilterSpec)51 Document (io.crnk.core.engine.document.Document)45 Resource (io.crnk.core.engine.document.Resource)43 Set (java.util.Set)39 HashMap (java.util.HashMap)37 HashSet (java.util.HashSet)36 AbstractQuerySpecTest (io.crnk.core.queryspec.AbstractQuerySpecTest)34 QuerySpecAdapter (io.crnk.core.queryspec.internal.QuerySpecAdapter)32 AbstractJpaJerseyTest (io.crnk.jpa.AbstractJpaJerseyTest)32 Task (io.crnk.test.mock.models.Task)32 Project (io.crnk.core.mock.models.Project)28 Relationship (io.crnk.core.engine.document.Relationship)26 Task (io.crnk.core.mock.models.Task)26 TestEntity (io.crnk.jpa.model.TestEntity)26 ResourceIdentifier (io.crnk.core.engine.document.ResourceIdentifier)25 Serializable (java.io.Serializable)24 RelatedEntity (io.crnk.jpa.model.RelatedEntity)21 ResourceRegistryTest (io.crnk.core.resource.registry.ResourceRegistryTest)20