use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class PasswordExpiredTaskExecutorIntegrationTest method testNotSendMessageValidTillToday.
@Test
public void testNotSendMessageValidTillToday() {
// prepare date
IdmIdentityDto identity = getHelper().createIdentity();
//
try {
IdmPasswordDto password = passwordService.findOneByIdentity(identity.getId());
password.setValidTill(LocalDate.now());
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(new HashMap<>());
// first process
Boolean result = executor.process();
Page<IdmProcessedTaskItemDto> logItems = itemService.findLogItems(longRunningTask, null);
// check
Assert.assertTrue(result);
Assert.assertTrue(logItems.getContent().stream().anyMatch(pi -> {
return pi.getReferencedEntityId().equals(password.getId()) && pi.getOperationResult().getState() == OperationState.NOT_EXECUTED;
}));
} finally {
identityService.delete(identity);
}
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class PasswordExpiredTaskExecutorIntegrationTest method testNotSendMessageToDisabledIdentity.
@Test
public void testNotSendMessageToDisabledIdentity() {
// prepare date
IdmIdentityDto identity = getHelper().createIdentity();
//
try {
IdmPasswordDto preparedPassword = passwordService.findOneByIdentity(identity.getId());
preparedPassword.setValidTill(LocalDate.now().minusDays(1));
IdmPasswordDto password = passwordService.save(preparedPassword);
// disable identity
identity.setState(IdentityState.DISABLED_MANUALLY);
identityService.save(identity);
// 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(new HashMap<>());
// 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);
}
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class PasswordExpirationWarningTaskExecutorIntegrationTest method testNotSendWarningMessageToDisabledIdentity.
@Test
public void testNotSendWarningMessageToDisabledIdentity() {
// prepare date
IdmIdentityDto identity = getHelper().createIdentity();
//
try {
IdmPasswordDto password = passwordService.findOneByIdentity(identity.getId());
password.setValidTill(LocalDate.now().plusDays(1));
passwordService.save(password);
// disable identity
identity.setState(IdentityState.DISABLED_MANUALLY);
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);
}
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class AbstractSchedulableTaskExecutor method createIdmScheduledTask.
protected IdmScheduledTaskDto createIdmScheduledTask(String taskName) {
IdmScheduledTaskDto t = new IdmScheduledTaskDto();
t.setQuartzTaskName(taskName);
return scheduledTaskService.save(t);
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class AbstractSchedulableTaskExecutor method getScheduledTask.
private IdmScheduledTaskDto getScheduledTask(JobExecutionContext context) {
String taskName = context.getJobDetail().getKey().getName();
IdmScheduledTaskDto dto = scheduledTaskService.findByQuartzTaskName(taskName);
return dto == null ? createIdmScheduledTask(taskName) : dto;
}
Aggregations