use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class DefaultIdmProcessedTaskItemServiceTest method testCreateItem.
@Test
public void testCreateItem() {
IdmScheduledTaskDto d = getHelper().createSchedulableTask();
IdmLongRunningTaskDto lrt = this.createLongRunningTask(d);
IdmProcessedTaskItemDto item = getHelper().prepareProcessedItem(lrt);
//
IdmProcessedTaskItemDto retrieved = service.get(service.saveInternal(item).getId());
//
assertNotNull(retrieved);
assertEquals(item.getReferencedDtoType(), retrieved.getReferencedDtoType());
assertEquals(item.getReferencedEntityId(), retrieved.getReferencedEntityId());
assertEquals(item.getLongRunningTask(), retrieved.getLongRunningTask());
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class DefaultIdmProcessedTaskItemServiceTest method getOperationState.
@Test
public void getOperationState() {
IdmScheduledTaskDto d = getHelper().createSchedulableTask();
//
IdmProcessedTaskItemDto item = service.saveInternal(getHelper().prepareProcessedItem(d));
IdmProcessedTaskItemDto item2 = service.saveInternal(getHelper().prepareProcessedItem(d));
IdmProcessedTaskItemDto item3 = service.saveInternal(getHelper().prepareProcessedItem(d, OperationState.CANCELED));
//
IdmProcessedTaskItemFilter filter = new IdmProcessedTaskItemFilter();
filter.setOperationState(item.getOperationResult().getState());
Page<IdmProcessedTaskItemDto> result = service.find(filter, null);
assertTrue(result.getContent().contains(item));
assertTrue(result.getContent().contains(item2));
assertFalse(result.getContent().contains(item3));
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class DefaultIdmProcessedTaskItemServiceTest method getLongRunningTaskIdFilter.
@Test
public void getLongRunningTaskIdFilter() {
IdmScheduledTaskDto d = getHelper().createSchedulableTask();
IdmLongRunningTaskDto lrt = this.createLongRunningTask(d);
IdmLongRunningTaskDto lrt2 = this.createLongRunningTask(d);
//
IdmProcessedTaskItemDto item = service.saveInternal(getHelper().prepareProcessedItem(lrt));
IdmProcessedTaskItemDto item2 = service.saveInternal(getHelper().prepareProcessedItem(lrt));
IdmProcessedTaskItemDto item3 = service.saveInternal(getHelper().prepareProcessedItem(lrt2));
//
IdmProcessedTaskItemFilter filter = new IdmProcessedTaskItemFilter();
filter.setLongRunningTaskId(lrt.getId());
Page<IdmProcessedTaskItemDto> result = service.find(filter, null);
assertEquals("Wrong number of items!", 2, result.getTotalElements());
assertTrue(result.getContent().contains(item));
assertTrue(result.getContent().contains(item2));
assertFalse(result.getContent().contains(item3));
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class DefaultIdmProcessedTaskItemServiceTest method referencedEntityTypeFilter.
@Test
public void referencedEntityTypeFilter() {
IdmScheduledTaskDto d = getHelper().createSchedulableTask();
IdmProcessedTaskItemDto item = service.saveInternal(getHelper().prepareProcessedItem(d));
IdmProcessedTaskItemDto item2 = service.saveInternal(getHelper().prepareProcessedItem(d));
//
IdmProcessedTaskItemFilter filter = new IdmProcessedTaskItemFilter();
filter.setReferencedEntityId(item.getReferencedEntityId());
filter.setReferencedEntityType(item.getReferencedDtoType());
Page<IdmProcessedTaskItemDto> result = service.find(filter, null);
Assert.assertEquals(1, result.getTotalElements());
Assert.assertTrue(result.getContent().contains(item));
//
filter.setReferencedEntityId(item2.getReferencedEntityId());
result = service.find(filter, null);
Assert.assertEquals(1, result.getTotalElements());
Assert.assertTrue(result.getContent().contains(item2));
}
use of eu.bcvsolutions.idm.core.scheduler.api.dto.IdmScheduledTaskDto in project CzechIdMng by bcvsolutions.
the class AbstractSchedulableStatefulExecutorIntegrationTest method testDontRemoveProcessedQueueOnCancel.
@Test
public void testDontRemoveProcessedQueueOnCancel() throws Exception {
TestIdentityIntegrationExecutor executor = new TestIdentityIntegrationExecutor();
AutowireHelper.autowire(executor);
// manually prepare control entities - normally scheduler will take care of it itself
IdmScheduledTaskDto scheduledTask = createIdmScheduledTask(UUID.randomUUID().toString());
IdmLongRunningTaskDto longRunningTask = createIdmLongRunningTask(scheduledTask, TestIdentityIntegrationExecutor.class);
executor.setLongRunningTaskId(longRunningTask.getId());
// first run
List<IdmIdentityDto> itemsToProcess = findTestIdentities();
// set executor data
executor.dtos = itemsToProcess;
//
Boolean result = executor.process();
Page<IdmProcessedTaskItemDto> queueItems = itemService.findQueueItems(scheduledTask, null);
Page<IdmProcessedTaskItemDto> logItems = itemService.findLogItems(longRunningTask, null);
//
assertTrue(result);
assertEquals(longRunningTask.getScheduledTask(), scheduledTask.getId());
assertEquals(itemsToProcess.size(), queueItems.getTotalElements());
assertEquals(itemsToProcess.size(), logItems.getTotalElements());
assertEquals(Long.valueOf(itemsToProcess.size()), executor.getCount());
assertEquals(Long.valueOf(itemsToProcess.size()), executor.getCounter());
SchedulerTestUtils.checkLogItems(longRunningTask, IdmIdentityDto.class, logItems);
SchedulerTestUtils.checkQueueItems(scheduledTask, IdmIdentityDto.class, queueItems);
//
// second run
//
longRunningTask = createIdmLongRunningTask(scheduledTask, TestIdentityIntegrationExecutor.class);
executor.setLongRunningTaskId(longRunningTask.getId());
executor.dtos = itemsToProcess;
//
result = executor.process();
queueItems = itemService.findQueueItems(scheduledTask, null);
logItems = itemService.findLogItems(longRunningTask, null);
//
assertTrue(result);
assertEquals(itemsToProcess.size(), queueItems.getTotalElements());
assertEquals(0, logItems.getTotalElements());
assertEquals(Long.valueOf(0), executor.getCount());
assertEquals(Long.valueOf(0), executor.getCounter());
//
// third run with cancel
//
longRunningTask = createIdmLongRunningTask(scheduledTask, TestIdentityIntegrationExecutor.class);
executor.setLongRunningTaskId(longRunningTask.getId());
executor.dtos = itemsToProcess;
executor.cancel = true;
//
result = executor.process();
queueItems = itemService.findQueueItems(scheduledTask, null);
logItems = itemService.findLogItems(longRunningTask, null);
longRunningTask = longRunningTaskManager.getLongRunningTask(longRunningTask.getId());
//
assertTrue(result);
assertEquals(itemsToProcess.size(), queueItems.getTotalElements());
assertEquals(0, logItems.getTotalElements());
//
// four run after cancel
//
longRunningTask = createIdmLongRunningTask(scheduledTask, TestIdentityIntegrationExecutor.class);
executor.setLongRunningTaskId(longRunningTask.getId());
executor.dtos = itemsToProcess;
executor.cancel = false;
//
result = executor.process();
queueItems = itemService.findQueueItems(scheduledTask, null);
logItems = itemService.findLogItems(longRunningTask, null);
longRunningTask = longRunningTaskManager.getLongRunningTask(longRunningTask.getId());
//
assertTrue(result);
assertEquals(longRunningTask.getScheduledTask(), scheduledTask.getId());
assertEquals(itemsToProcess.size(), queueItems.getTotalElements());
assertEquals(0, logItems.getTotalElements());
//
// five run with empty dtos - clear the queure
longRunningTask = createIdmLongRunningTask(scheduledTask, TestIdentityIntegrationExecutor.class);
executor.setLongRunningTaskId(longRunningTask.getId());
//
result = executor.process();
queueItems = itemService.findQueueItems(scheduledTask, null);
logItems = itemService.findLogItems(longRunningTask, null);
longRunningTask = longRunningTaskManager.getLongRunningTask(longRunningTask.getId());
//
assertTrue(result);
assertEquals(0, queueItems.getTotalElements());
assertEquals(0, logItems.getTotalElements());
}
Aggregations