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);
}
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));
}
}
}
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());
}
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());
}
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);
}
Aggregations