use of org.hisp.dhis.dxf2.metadata.objectbundle.ObjectBundleParams in project dhis2-core by dhis2.
the class ObjectBundleServiceUserTest method testUpdateUsers.
@Test
public void testUpdateUsers() throws IOException {
createUserAndInjectSecurityContext(true);
Map<Class<? extends IdentifiableObject>, List<IdentifiableObject>> metadata = renderService.fromMetadata(new ClassPathResource("dxf2/users.json").getInputStream(), RenderFormat.JSON);
ObjectBundleParams params = new ObjectBundleParams();
params.setObjectBundleMode(ObjectBundleMode.COMMIT);
params.setImportStrategy(ImportStrategy.CREATE);
params.setAtomicMode(AtomicMode.NONE);
params.setObjects(metadata);
ObjectBundle bundle = objectBundleService.create(params);
ObjectBundleValidationReport validate = objectBundleValidationService.validate(bundle);
assertEquals(1, validate.getErrorReportsByCode(UserAuthorityGroup.class, ErrorCode.E5003).size());
objectBundleService.commit(bundle);
metadata = renderService.fromMetadata(new ClassPathResource("dxf2/users_update.json").getInputStream(), RenderFormat.JSON);
params = new ObjectBundleParams();
params.setObjectBundleMode(ObjectBundleMode.COMMIT);
params.setImportStrategy(ImportStrategy.UPDATE);
params.setAtomicMode(AtomicMode.NONE);
params.setObjects(metadata);
bundle = objectBundleService.create(params);
validate = objectBundleValidationService.validate(bundle);
assertEquals(1, validate.getErrorReportsByCode(UserAuthorityGroup.class, ErrorCode.E5001).size());
objectBundleService.commit(bundle);
List<User> users = manager.getAll(User.class);
assertEquals(4, users.size());
User userA = manager.get(User.class, "sPWjoHSY03y");
User userB = manager.get(User.class, "MwhEJUnTHkn");
assertNotNull(userA);
assertNotNull(userB);
assertNotNull(userA.getUserCredentials().getUserInfo());
assertNotNull(userB.getUserCredentials().getUserInfo());
assertNotNull(userA.getUserCredentials().getUserInfo().getUserCredentials());
assertNotNull(userB.getUserCredentials().getUserInfo().getUserCredentials());
assertEquals("UserAA", userA.getUserCredentials().getUserInfo().getUserCredentials().getUsername());
assertEquals("UserBB", userB.getUserCredentials().getUserInfo().getUserCredentials().getUsername());
assertNotNull(userA.getUserCredentials().getUser());
assertNotNull(userB.getUserCredentials().getUser());
assertNotNull(userA.getUserCredentials().getUser().getUserCredentials());
assertNotNull(userB.getUserCredentials().getUser().getUserCredentials());
assertEquals("admin", userA.getUserCredentials().getUser().getUserCredentials().getUsername());
assertEquals("admin", userB.getUserCredentials().getUser().getUserCredentials().getUsername());
}
use of org.hisp.dhis.dxf2.metadata.objectbundle.ObjectBundleParams in project dhis2-core by dhis2.
the class ObjectBundleServiceUserTest method testCreateUsers.
@Test
public void testCreateUsers() throws IOException {
createUserAndInjectSecurityContext(true);
Map<Class<? extends IdentifiableObject>, List<IdentifiableObject>> metadata = renderService.fromMetadata(new ClassPathResource("dxf2/users.json").getInputStream(), RenderFormat.JSON);
ObjectBundleParams params = new ObjectBundleParams();
params.setObjectBundleMode(ObjectBundleMode.COMMIT);
params.setImportStrategy(ImportStrategy.CREATE);
params.setAtomicMode(AtomicMode.NONE);
params.setObjects(metadata);
ObjectBundle bundle = objectBundleService.create(params);
ObjectBundleValidationReport validate = objectBundleValidationService.validate(bundle);
assertEquals(1, validate.getErrorReportsByCode(UserAuthorityGroup.class, ErrorCode.E5003).size());
objectBundleService.commit(bundle);
List<User> users = manager.getAll(User.class);
assertEquals(4, users.size());
User userA = manager.get(User.class, "sPWjoHSY03y");
User userB = manager.get(User.class, "MwhEJUnTHkn");
assertNotNull(userA);
assertNotNull(userB);
assertNotNull(userA.getUserCredentials().getUserInfo());
assertNotNull(userB.getUserCredentials().getUserInfo());
assertNotNull(userA.getUserCredentials().getUserInfo().getUserCredentials());
assertNotNull(userB.getUserCredentials().getUserInfo().getUserCredentials());
assertEquals("UserA", userA.getUserCredentials().getUserInfo().getUserCredentials().getUsername());
assertEquals("UserB", userB.getUserCredentials().getUserInfo().getUserCredentials().getUsername());
assertNotNull(userA.getUserCredentials().getUser());
assertNotNull(userB.getUserCredentials().getUser());
assertNotNull(userA.getUserCredentials().getUser().getUserCredentials());
assertNotNull(userB.getUserCredentials().getUser().getUserCredentials());
assertEquals("admin", userA.getUserCredentials().getUser().getUserCredentials().getUsername());
assertEquals("admin", userB.getUserCredentials().getUser().getUserCredentials().getUsername());
assertEquals(1, userA.getOrganisationUnits().size());
assertEquals(1, userB.getOrganisationUnits().size());
}
use of org.hisp.dhis.dxf2.metadata.objectbundle.ObjectBundleParams in project dhis2-core by dhis2.
the class ObjectBundleServiceUserTest method testCreateUsersWithInvalidPasswords.
@Test
public void testCreateUsersWithInvalidPasswords() throws IOException {
createUserAndInjectSecurityContext(true);
Map<Class<? extends IdentifiableObject>, List<IdentifiableObject>> metadata = renderService.fromMetadata(new ClassPathResource("dxf2/users_passwords.json").getInputStream(), RenderFormat.JSON);
ObjectBundleParams params = new ObjectBundleParams();
params.setObjectBundleMode(ObjectBundleMode.VALIDATE);
params.setImportStrategy(ImportStrategy.CREATE);
params.setObjects(metadata);
ObjectBundle bundle = objectBundleService.create(params);
ObjectBundleValidationReport validate = objectBundleValidationService.validate(bundle);
assertEquals(1, validate.getErrorReportsByCode(User.class, ErrorCode.E4005).size());
}
Aggregations