use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class PasswordExpiredIntegrationTest method testSimpleWarningMessageDry.
@Test
public void testSimpleWarningMessageDry() {
// prepare date
IdmIdentityDto identity = helper.createIdentity();
//
try {
IdmPasswordDto password = passwordService.findOneByIdentity(identity.getId());
password.setValidTill(new LocalDate().minusDays(1));
passwordService.save(password);
// prepare task
IdmScheduledTaskDto scheduledTask = scheduledTaskService.save(SchedulerTestUtils.createIdmScheduledTask(UUID.randomUUID().toString()));
IdmLongRunningTaskDto longRunningTask = longRunningService.save(SchedulerTestUtils.createIdmLongRunningTask(scheduledTask, PasswordExpiredTaskExecutor.class));
PasswordExpiredTaskExecutor executor = AutowireHelper.autowireBean(new PasswordExpiredTaskExecutor());
executor.setLongRunningTaskId(longRunningTask.getId());
executor.init(ImmutableMap.of(PasswordExpirationWarningTaskExecutor.PARAMETER_DAYS_BEFORE, "2"));
// first process
Boolean result = executor.process();
Page<IdmProcessedTaskItemDto> queueItems = itemService.findQueueItems(scheduledTask, null);
Page<IdmProcessedTaskItemDto> logItems = itemService.findLogItems(longRunningTask, null);
// first check
Assert.assertTrue(result);
Assert.assertTrue(executor.getCount() > 0);
Assert.assertTrue(queueItems.getTotalElements() > 0);
Assert.assertTrue(logItems.getTotalElements() > 0);
Assert.assertTrue(logItems.getContent().stream().map(IdmProcessedTaskItemDto::getReferencedEntityId).anyMatch(password.getId()::equals));
// second process
longRunningTask = longRunningService.save(SchedulerTestUtils.createIdmLongRunningTask(scheduledTask, PasswordExpiredTaskExecutor.class));
executor.setLongRunningTaskId(longRunningTask.getId());
executor.init(new HashMap<>());
result = executor.process();
itemService.findQueueItems(scheduledTask, null);
logItems = itemService.findLogItems(longRunningTask, null);
// second check
Assert.assertTrue(result);
Assert.assertEquals(Long.valueOf(0), executor.getCount());
Assert.assertTrue(queueItems.getTotalElements() > 0);
Assert.assertEquals(0, logItems.getTotalElements());
} finally {
identityService.delete(identity);
}
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class DefaultSchedulerManagerIntegrationTest method testCreateAndRunSimpleTrigger.
@Test
public void testCreateAndRunSimpleTrigger() throws InterruptedException, ExecutionException {
String result = "TEST_SCHEDULER_TWO";
Task task = createTask(result);
//
ObserveLongRunningTaskEndProcessor.listenTask(task.getId());
//
manager.createTrigger(task.getId(), getSimpleTrigger(task));
//
ObserveLongRunningTaskEndProcessor.waitForEnd(task.getId());
//
Assert.assertEquals(OperationState.EXECUTED, ObserveLongRunningTaskEndProcessor.getResult(task.getId()).getState());
Assert.assertEquals(result, ObserveLongRunningTaskEndProcessor.getResultValue(task.getId()));
//
IdmScheduledTaskDto scheduledTask = scheduledTaskService.findByQuartzTaskName(task.getId());
Assert.assertNotNull(scheduledTask);
Assert.assertEquals(task.getId(), scheduledTask.getQuartzTaskName());
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class DefaultSchedulerManagerIntegrationTest method testCreateAndRunRoleExpirationTask.
@Test
public void testCreateAndRunRoleExpirationTask() throws Exception {
Task task = createRoleExpirationTask();
//
ObserveLongRunningTaskEndProcessor.listenTask(task.getId());
//
manager.createTrigger(task.getId(), getSimpleTrigger(task));
//
ObserveLongRunningTaskEndProcessor.waitForEnd(task.getId());
//
Assert.assertEquals(OperationState.EXECUTED, ObserveLongRunningTaskEndProcessor.getResult(task.getId()).getState());
//
IdmScheduledTaskDto scheduledTask = scheduledTaskService.findByQuartzTaskName(task.getId());
Assert.assertNotNull(scheduledTask);
Assert.assertEquals(task.getId(), scheduledTask.getQuartzTaskName());
//
manager.deleteTask(task.getId());
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class DefaultTestHelper method createLongRunningTask.
@Override
public IdmLongRunningTaskDto createLongRunningTask(LongRunningTaskExecutor<?> executor) {
final IdmScheduledTaskDto schedulableTask = createSchedulableTask();
IdmLongRunningTaskDto lrt = new IdmLongRunningTaskDto();
return taskManager.resolveLongRunningTask(executor, schedulableTask.getId(), OperationState.CREATED);
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class SchedulerTestUtils method createIdmScheduledTask.
public static IdmScheduledTaskDto createIdmScheduledTask(String taskName) {
IdmScheduledTaskDto t = new IdmScheduledTaskDto();
t.setQuartzTaskName(taskName);
// t.setDryRun(false);
return t;
}
Aggregations