use of org.hisp.dhis.dxf2.importsummary.ImportStatus.ERROR in project dhis2-core by dhis2.
the class MetadataImportServiceTest method testMetadataImportWithDeletedProgramStageSection.
@Test
void testMetadataImportWithDeletedProgramStageSection() throws IOException {
Map<Class<? extends IdentifiableObject>, List<IdentifiableObject>> metadata = renderService.fromMetadata(new ClassPathResource("dxf2/programstage_with_sections.json").getInputStream(), RenderFormat.JSON);
MetadataImportParams params = createParams(ImportStrategy.CREATE_AND_UPDATE, metadata);
ImportReport report = importService.importMetadata(params);
assertEquals(Status.OK, report.getStatus());
dbmsManager.clearSession();
ProgramStage programStage = programStageService.getProgramStage("NpsdDv6kKSO");
assertNotNull(programStage.getProgramStageSections());
assertNotNull(manager.get(ProgramStageSection.class, "JwcV2ZifEQf"));
metadata = renderService.fromMetadata(new ClassPathResource("dxf2/programstage_with_removed_section.json").getInputStream(), RenderFormat.JSON);
params = createParams(ImportStrategy.UPDATE, metadata);
params.setMetadataSyncImport(true);
report = importService.importMetadata(params);
report.forEachErrorReport(errorReport -> log.error("Error report:" + errorReport));
assertEquals(Status.OK, report.getStatus());
programStage = manager.get(ProgramStage.class, "NpsdDv6kKSO");
assertEquals(1, programStage.getProgramStageSections().size());
assertNull(manager.get(ProgramStageSection.class, "JwcV2ZifEQf"));
metadata = renderService.fromMetadata(new ClassPathResource("dxf2/programstage_with_all_section_removed.json").getInputStream(), RenderFormat.JSON);
params.setImportMode(ObjectBundleMode.COMMIT);
params.setImportStrategy(ImportStrategy.UPDATE);
params.setObjects(metadata);
params.setMetadataSyncImport(true);
report = importService.importMetadata(params);
assertEquals(Status.OK, report.getStatus());
programStage = manager.get(ProgramStage.class, "NpsdDv6kKSO");
assertEquals(true, programStage.getProgramStageSections().isEmpty());
}
use of org.hisp.dhis.dxf2.importsummary.ImportStatus.ERROR in project dhis2-core by dhis2.
the class EventSecurityTest method testAddEventSimpleUserFullAccess4.
/**
* program = DATA READ/WRITE programStage = DATA READ/WRITE orgUnit = Not
* Accessible status = ERROR
*/
@Test
void testAddEventSimpleUserFullAccess4() {
programA.setPublicAccess(AccessStringHelper.DATA_READ_WRITE);
programStageA.setPublicAccess(AccessStringHelper.DATA_READ_WRITE);
manager.update(programA);
manager.update(programStageA);
User user = createUser("user1");
injectSecurityContext(user);
Event event = createEvent(programA.getUid(), programStageA.getUid(), organisationUnitA.getUid());
ImportSummary importSummary = eventService.addEvent(event, ImportOptions.getDefaultImportOptions(), false);
assertEquals(ImportStatus.ERROR, importSummary.getStatus());
}
use of org.hisp.dhis.dxf2.importsummary.ImportStatus.ERROR in project dhis2-core by dhis2.
the class EventSecurityTest method testAddEventSimpleUserFullAccess8.
/**
* program = DATA READ programStage = DATA READ orgUnit = Not Accessible
* status = ERROR
*/
@Test
void testAddEventSimpleUserFullAccess8() {
programA.setPublicAccess(AccessStringHelper.DATA_READ_WRITE);
programStageA.setPublicAccess(AccessStringHelper.DATA_READ_WRITE);
manager.update(programA);
manager.update(programStageA);
Event event = createEvent(programA.getUid(), programStageA.getUid(), organisationUnitA.getUid());
ImportSummary importSummary = eventService.addEvent(event, ImportOptions.getDefaultImportOptions(), false);
assertEquals(ImportStatus.SUCCESS, importSummary.getStatus());
assertEquals(event.getEvent(), importSummary.getReference());
programA.setPublicAccess(AccessStringHelper.DATA_READ);
programStageA.setPublicAccess(AccessStringHelper.DATA_READ);
manager.update(programA);
manager.update(programStageA);
User user = createUser("user1");
injectSecurityContext(user);
assertTrue(programStageInstanceService.programStageInstanceExists(event.getEvent()));
ProgramStageInstance programStageInstance = programStageInstanceService.getProgramStageInstance(event.getUid());
assertNotNull(programStageInstance);
assertThrows(IllegalQueryException.class, () -> eventService.getEvent(programStageInstance));
}
use of org.hisp.dhis.dxf2.importsummary.ImportStatus.ERROR in project dhis2-core by dhis2.
the class EventSecurityTest method testAddEventSimpleUserFullAccess9.
/**
* program = programStage = DATA READ orgUnit = Accessible status = ERROR
*/
@Test
void testAddEventSimpleUserFullAccess9() {
programA.setPublicAccess(AccessStringHelper.DATA_READ_WRITE);
programStageA.setPublicAccess(AccessStringHelper.DATA_READ_WRITE);
manager.update(programA);
manager.update(programStageA);
Event event = createEvent(programA.getUid(), programStageA.getUid(), organisationUnitA.getUid());
ImportSummary importSummary = eventService.addEvent(event, ImportOptions.getDefaultImportOptions(), false);
assertEquals(ImportStatus.SUCCESS, importSummary.getStatus());
assertEquals(event.getEvent(), importSummary.getReference());
programA.setPublicAccess(AccessStringHelper.DEFAULT);
programStageA.setPublicAccess(AccessStringHelper.DATA_READ);
manager.update(programA);
manager.update(programStageA);
User user = createUser("user1").setOrganisationUnits(Sets.newHashSet(organisationUnitA));
injectSecurityContext(user);
assertTrue(programStageInstanceService.programStageInstanceExists(event.getEvent()));
ProgramStageInstance programStageInstance = programStageInstanceService.getProgramStageInstance(event.getUid());
assertNotNull(programStageInstance);
assertThrows(IllegalQueryException.class, () -> eventService.getEvent(programStageInstance));
}
use of org.hisp.dhis.dxf2.importsummary.ImportStatus.ERROR in project dhis2-core by dhis2.
the class EventSecurityTest method testAddEventSimpleUserFullAccess7.
/**
* program = DATA WRITE programStage = DATA WRITE orgUnit = Not Accessible
* status = ERROR
*/
@Test
void testAddEventSimpleUserFullAccess7() {
programA.setPublicAccess(AccessStringHelper.DATA_READ_WRITE);
programStageA.setPublicAccess(AccessStringHelper.DATA_READ_WRITE);
manager.update(programA);
manager.update(programStageA);
Event event = createEvent(programA.getUid(), programStageA.getUid(), organisationUnitA.getUid());
ImportSummary importSummary = eventService.addEvent(event, ImportOptions.getDefaultImportOptions(), false);
assertEquals(ImportStatus.SUCCESS, importSummary.getStatus());
assertEquals(event.getEvent(), importSummary.getReference());
programA.setPublicAccess(AccessStringHelper.DATA_WRITE);
programStageA.setPublicAccess(AccessStringHelper.DATA_WRITE);
manager.update(programA);
manager.update(programStageA);
User user = createUser("user1");
injectSecurityContext(user);
assertTrue(programStageInstanceService.programStageInstanceExists(event.getEvent()));
ProgramStageInstance programStageInstance = programStageInstanceService.getProgramStageInstance(event.getUid());
assertNotNull(programStageInstance);
assertThrows(IllegalQueryException.class, () -> eventService.getEvent(programStageInstance));
}
Aggregations