use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class DefaultIdmProcessedTaskItemDtoServiceTest method testImmutable.
@Test
public void testImmutable() {
IdmScheduledTaskDto d = helper.createSchedulableTask();
IdmLongRunningTaskDto lrt = this.createLongRunningTask(d);
IdmProcessedTaskItemDto item = helper.prepareProcessedItem(lrt);
IdmProcessedTaskItemDto saved = service.get(service.saveInternal(item).getId());
// set fields to new value
saved.setReferencedDtoType(IdmIdentityContractDto.class.getCanonicalName());
saved.setReferencedEntityId(UUID.randomUUID());
saved.setLongRunningTask(this.createLongRunningTask(d).getId());
//
IdmProcessedTaskItemDto retrieved = service.get(service.saveInternal(saved).getId());
// fields must not update
assertEquals(item.getLongRunningTask(), retrieved.getLongRunningTask());
assertEquals(item.getReferencedDtoType(), retrieved.getReferencedDtoType());
assertEquals(item.getReferencedEntityId(), retrieved.getReferencedEntityId());
//
assertNotEquals(item.getLongRunningTask(), saved.getLongRunningTask());
assertNotEquals(item.getReferencedDtoType(), saved.getReferencedDtoType());
assertNotEquals(item.getReferencedEntityId(), saved.getReferencedEntityId());
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class DefaultIdmProcessedTaskItemDtoServiceTest method referencedEntityIdFilter.
@Test
public void referencedEntityIdFilter() {
IdmScheduledTaskDto d = helper.createSchedulableTask();
IdmProcessedTaskItemDto item = service.saveInternal(helper.prepareProcessedItem(d));
IdmProcessedTaskItemDto item2 = service.saveInternal(helper.prepareProcessedItem(d));
//
IdmProcessedTaskItemFilter filter = new IdmProcessedTaskItemFilter();
filter.setReferencedEntityId(item.getReferencedEntityId());
Page<IdmProcessedTaskItemDto> result = service.find(filter, null);
assertEquals("Wrong number of items!", 1, result.getTotalElements());
assertTrue(result.getContent().contains(item));
assertFalse(result.getContent().contains(item2));
//
filter.setReferencedEntityId(item2.getReferencedEntityId());
result = service.find(filter, null);
assertEquals("Wrong number of items!", 1, result.getTotalElements());
assertTrue(result.getContent().contains(item2));
assertFalse(result.getContent().contains(item));
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class DefaultIdmProcessedTaskItemDtoServiceTest method testItemTypeReference.
@Test
public void testItemTypeReference() {
IdmScheduledTaskDto d = helper.createSchedulableTask();
IdmLongRunningTaskDto lrt = this.createLongRunningTask(d);
IdmProcessedTaskItemDto item = helper.prepareProcessedItem(lrt);
//
try {
item.setScheduledTaskQueueOwner(d.getId());
service.get(service.saveInternal(item).getId());
fail("Both log and queue association is forbidden.");
} catch (CoreException e) {
assertNotNull(e.getMessage());
}
//
try {
item.setScheduledTaskQueueOwner(null);
item.setLongRunningTask(null);
service.get(service.saveInternal(item).getId());
fail("Empty log and queue association is forbidden.");
} catch (CoreException e) {
assertNotNull(e.getMessage());
}
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class DefaultSchedulerManagerIntegrationTest method checkScheduledTask.
private void checkScheduledTask(Task task) {
IdmScheduledTaskDto scheduledTask = scheduledTaskService.findByQuartzTaskName(task.getId());
assertNotNull(scheduledTask);
assertEquals(task.getId(), scheduledTask.getQuartzTaskName());
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class PasswordExpirationWarningIntegrationTest method testNotSendWarningMessageToDisabledIdentity.
@Test
public void testNotSendWarningMessageToDisabledIdentity() {
// prepare date
IdmIdentityDto identity = helper.createIdentity();
//
try {
IdmPasswordDto password = passwordService.findOneByIdentity(identity.getId());
password.setValidTill(new LocalDate().plusDays(1));
passwordService.save(password);
// disable identity
identity.setDisabled(true);
identityService.save(identity);
// prepare task
IdmScheduledTaskDto scheduledTask = scheduledTaskService.save(SchedulerTestUtils.createIdmScheduledTask(UUID.randomUUID().toString()));
IdmLongRunningTaskDto longRunningTask = longRunningService.save(SchedulerTestUtils.createIdmLongRunningTask(scheduledTask, PasswordExpirationWarningTaskExecutor.class));
PasswordExpirationWarningTaskExecutor executor = AutowireHelper.autowireBean(new PasswordExpirationWarningTaskExecutor());
executor.setLongRunningTaskId(longRunningTask.getId());
executor.init(ImmutableMap.of(PasswordExpirationWarningTaskExecutor.PARAMETER_DAYS_BEFORE, "2"));
// first process
Boolean result = executor.process();
Page<IdmProcessedTaskItemDto> logItems = itemService.findLogItems(longRunningTask, null);
// check
Assert.assertTrue(result);
Assert.assertFalse(logItems.getContent().stream().map(IdmProcessedTaskItemDto::getReferencedEntityId).anyMatch(password.getId()::equals));
} finally {
identityService.delete(identity);
}
}
Aggregations