package org.molgenis.integrationtest.platform.datatypeediting; import org.molgenis.data.DataService; import org.molgenis.data.EntityManager; import org.molgenis.data.elasticsearch.index.job.IndexService; import org.molgenis.data.meta.MetaDataService; import org.molgenis.data.meta.model.AttributeFactory; import org.molgenis.data.meta.model.EntityType; import org.molgenis.data.meta.model.EntityTypeFactory; import org.molgenis.integrationtest.platform.PlatformITConfig; import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.testng.AbstractTestNGSpringContextTests; import static org.molgenis.data.meta.AttributeType.*; import static org.molgenis.data.meta.model.EntityType.AttributeRole.ROLE_ID; import static org.molgenis.integrationtest.platform.PlatformIT.waitForWorkToBeFinished; import static org.molgenis.security.core.runas.RunAsSystemProxy.runAsSystem; import static org.slf4j.LoggerFactory.getLogger; @ContextConfiguration(classes = { PlatformITConfig.class }) public class OneToManyTypeEditing extends AbstractTestNGSpringContextTests { private final Logger LOG = getLogger(OneToManyTypeEditing.class); @Autowired IndexService indexService; @Autowired AttributeFactory attributeFactory; @Autowired EntityTypeFactory entityTypeFactory; @Autowired DataService dataService; @Autowired EntityManager entityManager; @Autowired MetaDataService metaDataService; // FIXME Illegal attribute type [ONE_TO_MANY] public void testNoConversionsAllowed() { EntityType entityType = entityTypeFactory.create("1"); entityType.setName("oneToManyEntity"); entityType.setBackend("PostgreSQL"); EntityType refEntity = entityTypeFactory.create("2"); refEntity.setName("refEntity"); refEntity.setBackend("PostgreSQL"); entityType.addAttribute(attributeFactory.create().setName("id").setIdAttribute(true), ROLE_ID); entityType.addAttribute( attributeFactory.create().setName("oneToMany").setDataType(ONE_TO_MANY).setRefEntity(refEntity)); refEntity.addAttribute(attributeFactory.create().setName("id").setIdAttribute(true), ROLE_ID); refEntity.addAttribute(attributeFactory.create().setName("backRef").setDataType(XREF).setRefEntity(entityType)); runAsSystem(() -> { metaDataService.addEntityType(entityType); metaDataService.addEntityType(refEntity); entityType.getAttribute("oneToMany").setDataType(STRING); entityType.getAttribute("oneToMany").setRefEntity(null); metaDataService.updateEntityType(entityType); }); } }