Search in sources :

Example 41 with IdmScheduledTaskDto

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);
    }
}
Also used : IdmLongRunningTaskDto(eu.bcvsolutions.idm.core.scheduler.api.dto.IdmLongRunningTaskDto) IdmScheduledTaskDto(eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto) IdmPasswordDto(eu.bcvsolutions.idm.core.api.dto.IdmPasswordDto) IdmProcessedTaskItemDto(eu.bcvsolutions.idm.core.scheduler.api.dto.IdmProcessedTaskItemDto) IdmIdentityDto(eu.bcvsolutions.idm.core.api.dto.IdmIdentityDto) LocalDate(org.joda.time.LocalDate) AbstractIntegrationTest(eu.bcvsolutions.idm.test.api.AbstractIntegrationTest) Test(org.junit.Test)

Example 42 with IdmScheduledTaskDto

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());
}
Also used : Task(eu.bcvsolutions.idm.core.scheduler.api.dto.Task) IdmScheduledTaskDto(eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto) GuardedString(eu.bcvsolutions.idm.core.security.api.domain.GuardedString) AbstractIntegrationTest(eu.bcvsolutions.idm.test.api.AbstractIntegrationTest) Test(org.junit.Test)

Example 43 with IdmScheduledTaskDto

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());
}
Also used : Task(eu.bcvsolutions.idm.core.scheduler.api.dto.Task) IdmScheduledTaskDto(eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto) AbstractIntegrationTest(eu.bcvsolutions.idm.test.api.AbstractIntegrationTest) Test(org.junit.Test)

Example 44 with IdmScheduledTaskDto

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);
}
Also used : IdmLongRunningTaskDto(eu.bcvsolutions.idm.core.scheduler.api.dto.IdmLongRunningTaskDto) IdmScheduledTaskDto(eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto)

Example 45 with IdmScheduledTaskDto

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;
}
Also used : IdmScheduledTaskDto(eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto)

Aggregations

IdmScheduledTaskDto (eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto)63 Test (org.junit.Test)50 IdmProcessedTaskItemDto (eu.bcvsolutions.idm.core.scheduler.api.dto.IdmProcessedTaskItemDto)46 AbstractIntegrationTest (eu.bcvsolutions.idm.test.api.AbstractIntegrationTest)40 IdmLongRunningTaskDto (eu.bcvsolutions.idm.core.scheduler.api.dto.IdmLongRunningTaskDto)32 IdmIdentityDto (eu.bcvsolutions.idm.core.api.dto.IdmIdentityDto)24 IdmProcessedTaskItemFilter (eu.bcvsolutions.idm.core.scheduler.api.dto.filter.IdmProcessedTaskItemFilter)18 IdmPasswordDto (eu.bcvsolutions.idm.core.api.dto.IdmPasswordDto)9 UUID (java.util.UUID)9 AbstractVerifiableUnitTest (eu.bcvsolutions.idm.test.api.AbstractVerifiableUnitTest)8 OperationResult (eu.bcvsolutions.idm.core.api.entity.OperationResult)7 Task (eu.bcvsolutions.idm.core.scheduler.api.dto.Task)7 Pageable (org.springframework.data.domain.Pageable)5 LocalDate (org.joda.time.LocalDate)4 PageImpl (org.springframework.data.domain.PageImpl)4 AbstractDto (eu.bcvsolutions.idm.core.api.dto.AbstractDto)3 IdmIdentityContractDto (eu.bcvsolutions.idm.core.api.dto.IdmIdentityContractDto)3 CoreException (eu.bcvsolutions.idm.core.api.exception.CoreException)3 IdmLongRunningTaskFilter (eu.bcvsolutions.idm.core.scheduler.api.dto.filter.IdmLongRunningTaskFilter)2 SchedulableTaskExecutor (eu.bcvsolutions.idm.core.scheduler.api.service.SchedulableTaskExecutor)2