use of org.hisp.dhis.datavalue.DataExportParams in project dhis2-core by dhis2.
the class AdxDataServiceIntegrationTest method testGetFromUrl1.
// --------------------------------------------------------------------------
// Test get data export params from URL arguments
// --------------------------------------------------------------------------
@Test
void testGetFromUrl1() {
Date now = new Date();
DataExportParams expected = new DataExportParams().setDataSets(Sets.newHashSet(dsA)).setPeriods(Sets.newHashSet(pe202001)).setOrganisationUnits(Sets.newHashSet(ouA)).setIncludeDescendants(true).setIncludeDeleted(false).setLastUpdated(now).setLimit(999).setOutputIdSchemes(new IdSchemes().setIdScheme("CODE"));
DataExportParams actual = adxDataService.getFromUrl(DataValueSetQueryParams.builder().dataSet(Sets.newHashSet(dsA.getUid())).period(Sets.newHashSet("202001")).orgUnit(Sets.newHashSet(ouA.getUid())).children(true).includeDeleted(false).lastUpdated(now).limit(999).build());
assertEquals(expected.toString(), actual.toString());
}
use of org.hisp.dhis.datavalue.DataExportParams in project dhis2-core by dhis2.
the class DataValueSetExportAccessControlTest method testExportAttributeOptionComboAccessLimitedUserA.
/**
* User has data read sharing access to cocA and coCB through category
* options. Verifies that only data values for those attribute option
* combinations are returned.
*/
@Test
void testExportAttributeOptionComboAccessLimitedUserA() throws IOException {
// User
User user = createUser('A');
user.setOrganisationUnits(Sets.newHashSet(ouA));
setCurrentUser(user);
// Sharing
enableDataSharing(user, coA, DATA_READ);
enableDataSharing(user, coC, DATA_READ);
enableDataSharing(user, coD, DATA_READ);
enableDataSharing(user, dsA, DATA_READ);
idObjectManager.update(coA);
idObjectManager.update(coC);
idObjectManager.update(coD);
idObjectManager.update(dsA);
// Test
ByteArrayOutputStream out = new ByteArrayOutputStream();
DataExportParams params = new DataExportParams().setDataSets(Sets.newHashSet(dsA)).setPeriods(Sets.newHashSet(peA)).setOrganisationUnits(Sets.newHashSet(ouA));
dbmsManager.flushSession();
dataValueSetService.exportDataValueSetJson(params, out);
DataValueSet dvs = jsonMapper.readValue(out.toByteArray(), DataValueSet.class);
Set<String> expectedOptionCombos = Sets.newHashSet(cocA.getUid(), cocB.getUid());
assertNotNull(dvs);
assertNotNull(dvs.getDataValues());
assertEquals(2, dvs.getDataValues().size());
for (org.hisp.dhis.dxf2.datavalue.DataValue dv : dvs.getDataValues()) {
assertNotNull(dv);
assertEquals(ouA.getUid(), dv.getOrgUnit());
assertEquals(peA.getUid(), dv.getPeriod());
assertTrue(expectedOptionCombos.contains(dv.getAttributeOptionCombo()));
}
}
use of org.hisp.dhis.datavalue.DataExportParams in project dhis2-core by dhis2.
the class DataValueSetExportAccessControlTest method testExportExplicitAttributeOptionComboAccess.
/**
* User has no data read sharing access to cocA through category options.
* Verifies that validation fails.
*/
@Test
void testExportExplicitAttributeOptionComboAccess() {
// User
User user = createUser('A');
user.setOrganisationUnits(Sets.newHashSet(ouA));
setCurrentUser(user);
// Sharing
enableDataSharing(user, coA, DATA_READ);
enableDataSharing(user, dsA, DATA_READ);
idObjectManager.update(coA);
idObjectManager.update(dsA);
dbmsManager.flushSession();
// Test
ByteArrayOutputStream out = new ByteArrayOutputStream();
DataExportParams params = new DataExportParams().setDataSets(Sets.newHashSet(dsA)).setPeriods(Sets.newHashSet(peA)).setOrganisationUnits(Sets.newHashSet(ouA)).setAttributeOptionCombos(Sets.newHashSet(cocA));
assertThrows(IllegalQueryException.class, () -> dataValueSetService.exportDataValueSetJson(params, out));
}
use of org.hisp.dhis.datavalue.DataExportParams in project dhis2-core by dhis2.
the class DataValueSetServiceExportTest method testMissingOrgUnit.
@Test
void testMissingOrgUnit() {
ByteArrayOutputStream out = new ByteArrayOutputStream();
DataExportParams params = new DataExportParams().setDataSets(Sets.newHashSet(dsA)).setPeriods(Sets.newHashSet(peA));
assertIllegalQueryEx(assertThrows(IllegalQueryException.class, () -> dataValueSetService.exportDataValueSetJson(params, out)), ErrorCode.E2006);
}
use of org.hisp.dhis.datavalue.DataExportParams in project dhis2-core by dhis2.
the class DataValueSetServiceExportTest method testExportOrgUnitChildren.
@Test
void testExportOrgUnitChildren() throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
DataExportParams params = new DataExportParams().setDataSets(Sets.newHashSet(dsA)).setOrganisationUnits(Sets.newHashSet(ouA)).setIncludeDescendants(true).setPeriods(Sets.newHashSet(peA));
dataValueSetService.exportDataValueSetJson(params, out);
DataValueSet dvs = jsonMapper.readValue(out.toByteArray(), DataValueSet.class);
assertNotNull(dvs);
assertNotNull(dvs.getDataSet());
assertEquals(dsA.getUid(), dvs.getDataSet());
assertEquals(8, dvs.getDataValues().size());
for (org.hisp.dhis.dxf2.datavalue.DataValue dv : dvs.getDataValues()) {
assertNotNull(dv);
assertEquals(peAUid, dv.getPeriod());
}
}
Aggregations