use of org.hisp.dhis.dxf2.metadata.objectbundle.feedback.ObjectBundleValidationReport in project dhis2-core by dhis2.
the class ObjectBundleServiceProgramTest method testCreateSimpleProgramReg.
@Test
public void testCreateSimpleProgramReg() throws IOException {
Map<Class<? extends IdentifiableObject>, List<IdentifiableObject>> metadata = renderService.fromMetadata(new ClassPathResource("dxf2/program_reg1.json").getInputStream(), RenderFormat.JSON);
ObjectBundleParams params = new ObjectBundleParams();
params.setObjectBundleMode(ObjectBundleMode.COMMIT);
params.setImportStrategy(ImportStrategy.CREATE);
params.setObjects(metadata);
ObjectBundle bundle = objectBundleService.create(params);
ObjectBundleValidationReport validate = objectBundleValidationService.validate(bundle);
assertTrue(validate.getErrorReports().isEmpty());
objectBundleService.commit(bundle);
List<OrganisationUnit> organisationUnits = manager.getAll(OrganisationUnit.class);
List<DataElement> dataElements = manager.getAll(DataElement.class);
List<UserAuthorityGroup> userRoles = manager.getAll(UserAuthorityGroup.class);
List<User> users = manager.getAll(User.class);
List<Program> programs = manager.getAll(Program.class);
List<ProgramStage> programStages = manager.getAll(ProgramStage.class);
List<ProgramStageDataElement> programStageDataElements = manager.getAll(ProgramStageDataElement.class);
List<ProgramTrackedEntityAttribute> programTrackedEntityAttributes = manager.getAll(ProgramTrackedEntityAttribute.class);
assertFalse(organisationUnits.isEmpty());
assertFalse(dataElements.isEmpty());
assertFalse(users.isEmpty());
assertFalse(userRoles.isEmpty());
assertEquals(1, programs.size());
assertEquals(2, programStages.size());
assertEquals(4, programStageDataElements.size());
assertEquals(2, programTrackedEntityAttributes.size());
}
use of org.hisp.dhis.dxf2.metadata.objectbundle.feedback.ObjectBundleValidationReport in project dhis2-core by dhis2.
the class ObjectBundleReportTest method testImportReportMerge.
@Test
public void testImportReportMerge() {
TypeReport typeReport0 = createTypeReport(DataElement.class, DataElementGroup.class);
TypeReport typeReport1 = createTypeReport(Indicator.class, IndicatorGroup.class);
TypeReport typeReport2 = createTypeReport(Indicator.class, IndicatorGroup.class);
TypeReport typeReport3 = createTypeReport(OrganisationUnit.class, OrganisationUnitGroup.class);
ObjectBundleValidationReport objectBundleValidationReport = new ObjectBundleValidationReport();
objectBundleValidationReport.addTypeReport(typeReport0);
objectBundleValidationReport.addTypeReport(typeReport1);
assertEquals(6, objectBundleValidationReport.getErrorReports().size());
assertEquals(3, objectBundleValidationReport.getErrorReportsByCode(DataElement.class, ErrorCode.E3000).size());
assertEquals(3, objectBundleValidationReport.getErrorReportsByCode(Indicator.class, ErrorCode.E3000).size());
ObjectBundleCommitReport objectBundleCommitReport = new ObjectBundleCommitReport();
objectBundleCommitReport.addTypeReport(typeReport2);
objectBundleCommitReport.addTypeReport(typeReport3);
assertEquals(6, objectBundleCommitReport.getErrorReports().size());
assertEquals(3, objectBundleCommitReport.getErrorReportsByCode(Indicator.class, ErrorCode.E3000).size());
assertEquals(3, objectBundleCommitReport.getErrorReportsByCode(OrganisationUnit.class, ErrorCode.E3000).size());
ImportReport importReport = new ImportReport();
importReport.addTypeReports(objectBundleValidationReport.getTypeReportMap());
importReport.addTypeReports(objectBundleCommitReport.getTypeReportMap());
assertEquals(3, importReport.getTypeReportMap().size());
assertEquals(3, importReport.getTypeReportMap().get(DataElement.class).getErrorReports().size());
assertEquals(3, importReport.getTypeReportMap().get(OrganisationUnit.class).getErrorReports().size());
assertEquals(6, importReport.getTypeReportMap().get(Indicator.class).getErrorReports().size());
assertEquals(3, importReport.getTypeReportMap().get(DataElement.class).getObjectReports().size());
assertEquals(3, importReport.getTypeReportMap().get(Indicator.class).getObjectReports().size());
assertEquals(3, importReport.getTypeReportMap().get(OrganisationUnit.class).getObjectReports().size());
}
use of org.hisp.dhis.dxf2.metadata.objectbundle.feedback.ObjectBundleValidationReport in project dhis2-core by dhis2.
the class ObjectBundleServiceAttributesTest method testValidateMetadataAttributeValuesUniqueFromPayload.
@Test
public void testValidateMetadataAttributeValuesUniqueFromPayload() throws IOException {
Map<Class<? extends IdentifiableObject>, List<IdentifiableObject>> metadata = renderService.fromMetadata(new ClassPathResource("dxf2/metadata_with_unique_attributes_from_payload.json").getInputStream(), RenderFormat.JSON);
ObjectBundleParams params = new ObjectBundleParams();
params.setObjectBundleMode(ObjectBundleMode.VALIDATE);
params.setObjects(metadata);
ObjectBundle bundle = objectBundleService.create(params);
ObjectBundleValidationReport validationReport = objectBundleValidationService.validate(bundle);
List<ObjectReport> objectReports = validationReport.getObjectReports(DataElement.class);
assertFalse(objectReports.isEmpty());
assertEquals(2, validationReport.getErrorReportsByCode(DataElement.class, ErrorCode.E4009).size());
}
use of org.hisp.dhis.dxf2.metadata.objectbundle.feedback.ObjectBundleValidationReport in project dhis2-core by dhis2.
the class ObjectBundleServiceAttributesTest method testValidateMetadataAttributeValuesMandatory.
@Test
public void testValidateMetadataAttributeValuesMandatory() throws IOException {
defaultSetupWithAttributes();
Map<Class<? extends IdentifiableObject>, List<IdentifiableObject>> metadata = renderService.fromMetadata(new ClassPathResource("dxf2/metadata_with_mandatory_attributes.json").getInputStream(), RenderFormat.JSON);
ObjectBundleParams params = new ObjectBundleParams();
params.setObjectBundleMode(ObjectBundleMode.VALIDATE);
params.setObjects(metadata);
ObjectBundle bundle = objectBundleService.create(params);
ObjectBundleValidationReport validationReport = objectBundleValidationService.validate(bundle);
List<ObjectReport> objectReports = validationReport.getObjectReports(DataElement.class);
assertFalse(objectReports.isEmpty());
assertEquals(4, objectReports.size());
objectReports.forEach(objectReport -> assertEquals(2, objectReport.getErrorReports().size()));
}
use of org.hisp.dhis.dxf2.metadata.objectbundle.feedback.ObjectBundleValidationReport in project dhis2-core by dhis2.
the class ObjectBundleServiceTest method testPreheatValidationsIncludingMerge.
@Test
public void testPreheatValidationsIncludingMerge() throws IOException {
Map<Class<? extends IdentifiableObject>, List<IdentifiableObject>> metadata = renderService.fromMetadata(new ClassPathResource("dxf2/de_validate3.json").getInputStream(), RenderFormat.JSON);
defaultSetup();
ObjectBundleParams params = new ObjectBundleParams();
params.setObjectBundleMode(ObjectBundleMode.VALIDATE);
params.setMergeMode(MergeMode.REPLACE);
params.setObjects(metadata);
ObjectBundle bundle = objectBundleService.create(params);
ObjectBundleValidationReport validate = objectBundleValidationService.validate(bundle);
assertNotNull(validate);
}
Aggregations