Search in sources :

Example 31 with MetaResource

use of io.crnk.meta.model.resource.MetaResource in project crnk-framework by crnk-project.

the class MetaDefaultLimitIntTest method limitShouldNotAffectRelationshipsWithSpecOnRelationship.

@Test
public void limitShouldNotAffectRelationshipsWithSpecOnRelationship() {
    QuerySpec querySpec = new QuerySpec(MetaResource.class);
    querySpec.includeRelation(Arrays.asList("attributes"));
    querySpec.addFilter(new FilterSpec(Arrays.asList("resourceType"), FilterOperator.EQ, "tasks"));
    querySpec.getOrCreateQuerySpec(MetaAttribute.class).addSort(new SortSpec(Arrays.asList("id"), Direction.ASC));
    querySpec.getOrCreateQuerySpec(MetaElement.class).addSort(new SortSpec(Arrays.asList("id"), Direction.ASC));
    querySpec.getOrCreateQuerySpec(MetaResourceField.class).addSort(new SortSpec(Arrays.asList("id"), Direction.ASC));
    ResourceList<MetaResource> list = repository.findAll(querySpec);
    Assert.assertEquals(1, list.size());
    MetaResource taskMeta = list.get(0);
    List<? extends MetaAttribute> attributes = taskMeta.getAttributes();
    Assert.assertTrue(attributes.size() > 5);
}
Also used : MetaResourceField(io.crnk.meta.model.resource.MetaResourceField) MetaElement(io.crnk.meta.model.MetaElement) MetaResource(io.crnk.meta.model.resource.MetaResource) MetaAttribute(io.crnk.meta.model.MetaAttribute) QuerySpec(io.crnk.core.queryspec.QuerySpec) FilterSpec(io.crnk.core.queryspec.FilterSpec) SortSpec(io.crnk.core.queryspec.SortSpec) Test(org.junit.Test)

Example 32 with MetaResource

use of io.crnk.meta.model.resource.MetaResource in project crnk-framework by crnk-project.

the class MetaIntTest method testFetchResourcesWithAttributesAndType.

@Test
public void testFetchResourcesWithAttributesAndType() {
    QuerySpec querySpec = new QuerySpec(MetaResource.class);
    querySpec.includeRelation(Arrays.asList("attributes", "type"));
    ResourceList<MetaResource> list = client.getRepositoryForType(MetaResource.class).findAll(querySpec);
    Assert.assertFalse(list.isEmpty());
    for (MetaResource elem : list) {
        List<? extends MetaAttribute> attributes = elem.getAttributes();
        Assert.assertTrue(isLoaded(attributes));
        for (MetaAttribute attr : attributes) {
            Assert.assertTrue(isLoaded(attr));
            MetaType attrType = attr.getType();
            Assert.assertTrue(isLoaded(attrType));
        }
    }
}
Also used : MetaResource(io.crnk.meta.model.resource.MetaResource) QuerySpec(io.crnk.core.queryspec.QuerySpec) Test(org.junit.Test)

Example 33 with MetaResource

use of io.crnk.meta.model.resource.MetaResource in project crnk-framework by crnk-project.

the class MetaIntTest method testResource.

public void testResource(boolean accessAsMetaElement) {
    Class<? extends MetaElement> elementClass = accessAsMetaElement ? MetaElement.class : MetaResource.class;
    QuerySpec querySpec = new QuerySpec(elementClass);
    querySpec.includeRelation(Arrays.asList("attributes", "type"));
    querySpec.includeRelation(Arrays.asList("declaredAttributes"));
    querySpec.includeRelation(Arrays.asList("primaryKey", "elements"));
    querySpec.includeRelation(Arrays.asList("superType"));
    String id = "resources.schedules";
    MetaResource resource = (MetaResource) client.getQuerySpecRepository(elementClass).findOne(id, querySpec);
    Assert.assertNotNull(resource);
    Assert.assertNotNull(resource.getAttributes());
    Assert.assertNotNull(resource.getDeclaredAttributes());
    Assert.assertNotNull(resource.getPrimaryKey());
    Assert.assertNull(resource.getSuperType());
    Assert.assertEquals(1, resource.getPrimaryKey().getElements().size());
    MetaAttribute idAttr = resource.getAttribute("id");
    Assert.assertEquals("id", idAttr.getName());
    Assert.assertNotNull(idAttr.getType());
    Assert.assertTrue(idAttr.getType() instanceof MetaPrimitiveType);
    Assert.assertFalse(idAttr.isAssociation());
}
Also used : MetaResource(io.crnk.meta.model.resource.MetaResource) QuerySpec(io.crnk.core.queryspec.QuerySpec)

Example 34 with MetaResource

use of io.crnk.meta.model.resource.MetaResource in project crnk-framework by crnk-project.

the class MetaDataObjectTest method checkResolveMapPath.

@Test
public void checkResolveMapPath() {
    MetaResource meta = resourceProvider.getMeta(Project.class);
    MetaAttributePath path = meta.resolvePath(Arrays.asList("data", "customData", "test"));
    Assert.assertEquals(2, path.length());
    Assert.assertEquals("data", path.getElement(0).getName());
    MetaMapAttribute mapAttr = (MetaMapAttribute) path.getElement(1);
    Assert.assertEquals("test", mapAttr.getKey());
    Assert.assertEquals("customData", mapAttr.getName());
}
Also used : MetaResource(io.crnk.meta.model.resource.MetaResource) Test(org.junit.Test) AbstractMetaTest(io.crnk.meta.AbstractMetaTest)

Example 35 with MetaResource

use of io.crnk.meta.model.resource.MetaResource in project crnk-framework by crnk-project.

the class MetaDataObjectTest method checkResolvePathWithNullNotAllowed.

@Test(expected = IllegalArgumentException.class)
public void checkResolvePathWithNullNotAllowed() {
    MetaResource meta = resourceProvider.getMeta(Task.class);
    meta.resolvePath(null);
}
Also used : MetaResource(io.crnk.meta.model.resource.MetaResource) Test(org.junit.Test) AbstractMetaTest(io.crnk.meta.AbstractMetaTest)

Aggregations

MetaResource (io.crnk.meta.model.resource.MetaResource)45 Test (org.junit.Test)36 QuerySpec (io.crnk.core.queryspec.QuerySpec)17 MetaAttribute (io.crnk.meta.model.MetaAttribute)16 FilterSpec (io.crnk.core.queryspec.FilterSpec)8 AbstractJpaJerseyTest (io.crnk.jpa.AbstractJpaJerseyTest)8 AbstractMetaTest (io.crnk.meta.AbstractMetaTest)7 ResourceInformation (io.crnk.core.engine.information.resource.ResourceInformation)6 RegistryEntry (io.crnk.core.engine.registry.RegistryEntry)6 MetaElement (io.crnk.meta.model.MetaElement)6 ResourceField (io.crnk.core.engine.information.resource.ResourceField)4 MetaDataObject (io.crnk.meta.model.MetaDataObject)3 MetaKey (io.crnk.meta.model.MetaKey)3 MetaResourceField (io.crnk.meta.model.resource.MetaResourceField)3 ResourceFilterDirectory (io.crnk.core.engine.filter.ResourceFilterDirectory)2 ResourceRegistry (io.crnk.core.engine.registry.ResourceRegistry)2 Module (io.crnk.core.module.Module)2 TSContainerElement (io.crnk.gen.typescript.model.TSContainerElement)2 TSInterfaceType (io.crnk.gen.typescript.model.TSInterfaceType)2 TSType (io.crnk.gen.typescript.model.TSType)2