use of eu.bcvsolutions.idm.acc.dto.SysProvisioningArchiveDto in project CzechIdMng by bcvsolutions.
the class ContractGuaranteeSaveAndDeleteProcessorTest method testUpdateContractGuaranteeWithoutProvisioning.
@Test
public void testUpdateContractGuaranteeWithoutProvisioning() {
IdmIdentityDto identity = testHelper.createIdentity();
//
IdmIdentityDto guarantee = testHelper.createIdentity();
IdmIdentityContractDto primeContract = testHelper.getPrimeContract(identity.getId());
IdmContractGuaranteeDto contractGuarantee = testHelper.createContractGuarantee(primeContract.getId(), guarantee.getId());
//
IdmIdentityDto newGuarantee = testHelper.createIdentity();
contractGuarantee.setGuarantee(newGuarantee.getId());
// save/update
contractGuarantee = contractGuaranteeService.save(contractGuarantee);
//
SysProvisioningOperationFilter filter = new SysProvisioningOperationFilter();
filter.setEntityIdentifier(identity.getId());
List<SysProvisioningArchiveDto> content = provisioningArchiveService.find(filter, null).getContent();
assertEquals(0, content.size());
}
use of eu.bcvsolutions.idm.acc.dto.SysProvisioningArchiveDto in project CzechIdMng by bcvsolutions.
the class ContractGuaranteeSaveAndDeleteProcessorTest method testProvisioningAfterCreateContractGuarantee.
@Test
public void testProvisioningAfterCreateContractGuarantee() {
SysSystemDto system = testHelper.createTestResourceSystem(true);
//
// check before
SysProvisioningOperationFilter filter = new SysProvisioningOperationFilter();
filter.setSystemId(system.getId());
List<SysProvisioningArchiveDto> content = provisioningArchiveService.find(filter, null).getContent();
assertEquals(0, content.size());
//
// create identity
IdmIdentityDto identity = testHelper.createIdentity();
testHelper.createIdentityAccount(system, identity);
//
// save identity with account, invoke provisioning = create
identity = identityService.save(identity);
//
content = provisioningArchiveService.find(filter, null).getContent();
assertEquals(1, content.size());
SysProvisioningArchiveDto sysProvisioningArchiveDto = content.get(0);
assertEquals(ProvisioningEventType.CREATE, sysProvisioningArchiveDto.getOperationType());
assertEquals(SystemEntityType.IDENTITY, sysProvisioningArchiveDto.getEntityType());
assertEquals(identity.getId(), sysProvisioningArchiveDto.getEntityIdentifier());
//
IdmIdentityDto guarantee = testHelper.createIdentity();
IdmIdentityContractDto primeContract = testHelper.getPrimeContract(identity.getId());
testHelper.createContractGuarantee(primeContract.getId(), guarantee.getId());
//
// check after create contract
content = provisioningArchiveService.find(filter, null).getContent();
assertEquals(2, content.size());
sysProvisioningArchiveDto = Iterables.getLast(content);
assertEquals(ProvisioningEventType.UPDATE, sysProvisioningArchiveDto.getOperationType());
assertEquals(SystemEntityType.IDENTITY, sysProvisioningArchiveDto.getEntityType());
assertEquals(identity.getId(), sysProvisioningArchiveDto.getEntityIdentifier());
}
use of eu.bcvsolutions.idm.acc.dto.SysProvisioningArchiveDto in project CzechIdMng by bcvsolutions.
the class CleanProvisioningQueueTaskExecutorIntegrationTest method testLrtWithFilterBatch.
@Test
public void testLrtWithFilterBatch() {
// create identity
IdmIdentityDto person = createIdentity("firstName" + System.currentTimeMillis(), "Surname" + System.currentTimeMillis(), "email" + System.currentTimeMillis() + "@gemail.eu", "000000009", false);
IdmIdentityDto personSecond = createIdentity("firstName" + System.currentTimeMillis(), "Surname" + System.currentTimeMillis(), "email" + System.currentTimeMillis() + "@gemail.eu", "000000009", false);
// create system read only
SysSystemDto system = helper.createTestResourceSystem(true);
system.setReadonly(true);
systemService.save(system);
// create role, "assign" role to system, "assign" role to identity
IdmRoleDto role = helper.createRole();
SysRoleSystemDto roleSystemDefault = helper.createRoleSystem(role, system);
roleSystemDefault.setSystemMapping(helper.getDefaultMapping(system).getId());
roleSystemService.save(roleSystemDefault);
IdmIdentityRoleDto identityRole = helper.createIdentityRole(person, role);
identityRole.setValidFrom(LocalDate.now().plusDays(1));
identityRoleService.save(identityRole);
// create system read only
SysSystemDto systemSecond = helper.createTestResourceSystem(true);
systemSecond.setReadonly(true);
systemService.save(systemSecond);
// create role, "assign" role to system, "assign" role to identity
IdmRoleDto roleSecond = helper.createRole();
SysRoleSystemDto roleSystemDefaultSecond = helper.createRoleSystem(roleSecond, systemSecond);
roleSystemDefaultSecond.setSystemMapping(helper.getDefaultMapping(systemSecond).getId());
roleSystemService.save(roleSystemDefaultSecond);
helper.createIdentityRole(personSecond, roleSecond);
// find items in provisioning queue// first system// 2 provisioning operations, but 1 batch
SysProvisioningOperationFilter filter = new SysProvisioningOperationFilter();
filter.setSystemId(system.getId());
Page<SysProvisioningOperationDto> page = sysProvisioningOperationService.find(filter, null);
Assert.assertEquals(2, page.getContent().size());
// find items in provisioning queue// second system
SysProvisioningOperationFilter filterSecond = new SysProvisioningOperationFilter();
filterSecond.setSystemId(systemSecond.getId());
Page<SysProvisioningOperationDto> pageSecond = sysProvisioningOperationService.find(filterSecond, null);
Assert.assertEquals(1, pageSecond.getContent().size());
UUID batchId = page.getContent().get(0).getBatch();
SysProvisioningBatchDto batch = sysProvisioningBatchService.get(batchId);
assertNotNull(batch);
// find items in provisioning queue
SysProvisioningOperationFilter filterBatch = new SysProvisioningOperationFilter();
filterBatch.setBatchId(batchId);
Page<SysProvisioningOperationDto> pageBatch = sysProvisioningOperationService.find(filterBatch, null);
Assert.assertEquals(2, pageBatch.getContent().size());
// create and start LRT to clean
CancelProvisioningQueueTaskExecutor lrt = new CancelProvisioningQueueTaskExecutor();
//
SysProvisioningOperationFilter filterLrt = new SysProvisioningOperationFilter();
filterLrt.setSystemId(system.getId());
filterLrt.setOperationType(ProvisioningEventType.CREATE);
//
// filter will find just 1 provisioning operation of same batch, but clean both
page = sysProvisioningOperationService.find(filterLrt, null);
Assert.assertEquals(1, page.getContent().size());
lrt.setFilter(filterLrt);
//
longRunningTaskManager.executeSync(lrt);
// items in queue are cleaned
filter = new SysProvisioningOperationFilter();
filter.setSystemId(system.getId());
page = sysProvisioningOperationService.find(filter, null);
Assert.assertEquals(0, page.getContent().size());
batch = sysProvisioningBatchService.get(batchId);
assertNull(batch);
// find items in provisioning queue// both systems
pageSecond = sysProvisioningOperationService.find(filterSecond, null);
Assert.assertEquals(1, pageSecond.getContent().size());
// archive
SysProvisioningOperationFilter filterArchive = new SysProvisioningOperationFilter();
filterArchive.setSystemId(system.getId());
Page<SysProvisioningArchiveDto> archivePage = archiveService.find(filterArchive, null);
// 2 provisioning operation
Assert.assertEquals(2, archivePage.getContent().size());
}
use of eu.bcvsolutions.idm.acc.dto.SysProvisioningArchiveDto in project CzechIdMng by bcvsolutions.
the class DefaultSysProvisioningArchiveServiceTest method entityIdentifierFilterTest.
@Test
public void entityIdentifierFilterTest() {
IdmBasePermission permission = IdmBasePermission.ADMIN;
SystemEntityType entityType = SystemEntityType.IDENTITY;
SysSystemDto system = createRoleSystem();
createProvisioningArchive(entityType, system);
SysProvisioningArchiveDto provisioningArchive1 = createProvisioningArchive(entityType, system);
provisioningArchive1.setEntityIdentifier(UUID.randomUUID());
provisioningArchive1 = archiveService.save(provisioningArchive1);
SysProvisioningArchiveDto provisioningArchive2 = createProvisioningArchive(entityType, system);
SysProvisioningOperationFilter filter = new SysProvisioningOperationFilter();
filter.setEntityIdentifier(provisioningArchive1.getEntityIdentifier());
Page<SysProvisioningArchiveDto> result = archiveService.find(filter, null, permission);
assertEquals(1, result.getTotalElements());
assertTrue(result.getContent().contains(provisioningArchive1));
assertFalse(result.getContent().contains(provisioningArchive2));
}
use of eu.bcvsolutions.idm.acc.dto.SysProvisioningArchiveDto in project CzechIdMng by bcvsolutions.
the class DefaultSysProvisioningArchiveServiceTest method typeFilterTest.
@Test
public void typeFilterTest() {
IdmBasePermission permission = IdmBasePermission.ADMIN;
SysSystemDto system = createRoleSystem();
SysProvisioningArchiveDto provisioningOperation1 = createProvisioningArchive(SystemEntityType.CONTRACT, system);
SysProvisioningArchiveDto provisioningOperation2 = createProvisioningArchive(SystemEntityType.IDENTITY, system);
SysProvisioningArchiveDto provisioningOperation3 = createProvisioningArchive(SystemEntityType.CONTRACT, system);
SysProvisioningOperationFilter filter = new SysProvisioningOperationFilter();
filter.setEntityType(SystemEntityType.CONTRACT);
Page<SysProvisioningArchiveDto> result = archiveService.find(filter, null, permission);
assertEquals(2, result.getTotalElements());
assertTrue(result.getContent().contains(provisioningOperation1));
assertTrue(result.getContent().contains(provisioningOperation3));
assertFalse(result.getContent().contains(provisioningOperation2));
}
Aggregations