use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class PasswordExpiredIntegrationTest method testNotSendWarningMessageToDisabledIdentity.
@Test
public void testNotSendWarningMessageToDisabledIdentity() {
// prepare date
IdmIdentityDto identity = helper.createIdentity();
//
try {
IdmPasswordDto password = passwordService.findOneByIdentity(identity.getId());
password.setValidTill(new LocalDate().minusDays(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, 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> 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 DefaultTestHelper method createSchedulableTask.
@Override
public IdmScheduledTaskDto createSchedulableTask() {
IdmScheduledTaskDto d = new IdmScheduledTaskDto();
d.setQuartzTaskName(UUID.randomUUID().toString());
d = scheduledTaskService.saveInternal(d);
return d;
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class IdmLongRunningTaskItemController method addToQueue.
@ResponseBody
@RequestMapping(value = "/{backendId}/queue-item", method = RequestMethod.POST)
@PreAuthorize("hasAuthority('" + CoreGroupPermission.SCHEDULER_CREATE + "')")
@ApiOperation(value = "Create record", nickname = "createRecord", tags = { IdmLongRunningTaskItemController.TAG }, authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = CoreGroupPermission.SCHEDULER_CREATE, description = "") }), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = CoreGroupPermission.SCHEDULER_CREATE, description = "") }) })
public ResponseEntity<?> addToQueue(@ApiParam(value = "Records's uuid identifier", required = true) @PathVariable @NotNull String backendId, @Valid @RequestBody UUID scheduledTask) {
IdmScheduledTaskDto task = scheduledTaskService.get(scheduledTask);
IdmProcessedTaskItemDto itemDto = itemService.get(backendId);
itemService.createQueueItem(itemDto, new OperationResult(OperationState.EXECUTED), task);
//
return new ResponseEntity<>(HttpStatus.CREATED);
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class DefaultIdmScheduledTaskService method findByQuartzTaskName.
@Transactional(readOnly = true)
@Override
public IdmScheduledTaskDto findByQuartzTaskName(String taskName) {
IdmScheduledTaskFilter filter = new IdmScheduledTaskFilter();
filter.setQuartzTaskName(taskName);
Page<IdmScheduledTaskDto> results = find(filter, new PageRequest(0, 1));
if (results.getTotalElements() == 0) {
return null;
} else if (results.getTotalElements() == 1) {
return results.iterator().next();
}
throw new SchedulerException(CoreResultCode.SEARCH_ERROR, ImmutableMap.of("reason", "Multiple tasks found for " + getClass().getSimpleName() + " task."));
}
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);
}
Aggregations