Search in sources :

Example 6 with TaskId

use of com.enonic.xp.task.TaskId in project xp by enonic.

the class TaskServiceImplTest method getTasks.

@Test
void getTasks() {
    final TaskId someTaskId1 = TaskId.from("someTask1");
    taskService.getTaskInfo(someTaskId1);
    verify(taskManager).getTaskInfo(eq(someTaskId1));
    final TaskManager taskManager = mock(TaskManager.class);
    taskService.setClusteredTaskManager(taskManager);
    taskService.getAllTasks();
    verify(taskManager).getAllTasks();
    taskService.unsetClusteredTaskManager(taskManager);
    taskService.getRunningTasks();
    verifyNoMoreInteractions(taskManager);
    verify(this.taskManager).getRunningTasks();
}
Also used : TaskId(com.enonic.xp.task.TaskId) TaskManager(com.enonic.xp.impl.task.distributed.TaskManager) Test(org.junit.jupiter.api.Test)

Example 7 with TaskId

use of com.enonic.xp.task.TaskId in project xp by enonic.

the class TaskServiceImplTest method submitTask_DescriptorKey_offload_to_clustered.

@Test
void submitTask_DescriptorKey_offload_to_clustered() {
    final DescriptorKey descriptorKey = DescriptorKey.from("module:my-admin-tool");
    final TaskManager clusteredTaskManager = mock(TaskManager.class);
    taskService.setClusteredTaskManager(clusteredTaskManager);
    final TaskId taskId = taskService.submitTask(SubmitTaskParams.create().descriptorKey(descriptorKey).build());
    verify(clusteredTaskManager).submitTask(describedTaskCaptor.capture());
    describedTaskCaptor.getValue();
    final DescribedTask argument = describedTaskCaptor.getValue();
    assertEquals(taskId, argument.getTaskId());
}
Also used : TaskManager(com.enonic.xp.impl.task.distributed.TaskManager) TaskId(com.enonic.xp.task.TaskId) DescriptorKey(com.enonic.xp.page.DescriptorKey) DescribedTask(com.enonic.xp.impl.task.distributed.DescribedTask) Test(org.junit.jupiter.api.Test)

Example 8 with TaskId

use of com.enonic.xp.task.TaskId in project xp by enonic.

the class TaskServiceImplTest method submitTask_DescriptorKey.

@Test
void submitTask_DescriptorKey() {
    final DescriptorKey descriptorKey = DescriptorKey.from("module:my-admin-tool");
    final PropertyTree config = new PropertyTree();
    final NamedTask namedTask = mock(NamedTask.class);
    when(namedTaskFactory.createLegacy(descriptorKey, config)).thenReturn(namedTask);
    when(namedTask.getTaskDescriptor()).thenReturn(TaskDescriptor.create().key(descriptorKey).description("task description").build());
    final TaskId taskId = taskService.submitTask(descriptorKey, config);
    verify(taskManager).submitTask(describedTaskCaptor.capture());
    describedTaskCaptor.getValue();
    final DescribedTask argument = describedTaskCaptor.getValue();
    assertEquals(taskId, argument.getTaskId());
}
Also used : TaskId(com.enonic.xp.task.TaskId) PropertyTree(com.enonic.xp.data.PropertyTree) DescriptorKey(com.enonic.xp.page.DescriptorKey) NamedTask(com.enonic.xp.impl.task.script.NamedTask) DescribedTask(com.enonic.xp.impl.task.distributed.DescribedTask) Test(org.junit.jupiter.api.Test)

Example 9 with TaskId

use of com.enonic.xp.task.TaskId in project xp by enonic.

the class ClusteredTaskManagerImplTest method getTaskInfo_missing.

@Test
void getTaskInfo_missing() {
    final TaskId taskId = TaskId.from("someTask");
    when(executorService.submitToAllMembers(any(TasksReporterCallable.class))).thenReturn(Map.of(mock(Member.class), CompletableFuture.completedFuture(List.of())));
    final TaskInfo taskInfo = clusteredTaskManager.getTaskInfo(taskId);
    assertNull(taskInfo);
}
Also used : TaskInfo(com.enonic.xp.task.TaskInfo) TaskId(com.enonic.xp.task.TaskId) TasksReporterCallable(com.enonic.xp.impl.task.distributed.TasksReporterCallable) Test(org.junit.jupiter.api.Test)

Example 10 with TaskId

use of com.enonic.xp.task.TaskId in project xp by enonic.

the class LocalTaskManagerImpl method prepareRunnable.

private Runnable prepareRunnable(final DescribedTask runnableTask) {
    final TaskId id = runnableTask.getTaskId();
    final User user = Objects.requireNonNullElse(runnableTask.getTaskContext().getAuthInfo().getUser(), User.ANONYMOUS);
    final TaskInfo info = TaskInfo.create().id(id).description(runnableTask.getDescription()).name(runnableTask.getName()).state(TaskState.WAITING).startTime(Instant.now(clock)).application(runnableTask.getApplicationKey()).user(user.getKey()).build();
    final TaskInfoHolder taskInfoHolder = TaskInfoHolder.create().taskInfo(info).build();
    tasks.put(id, taskInfoHolder);
    eventPublisher.publish(TaskEvents.submitted(info));
    return new TaskRunnable(runnableTask, new ProgressReporterAdapter(id));
}
Also used : TaskInfo(com.enonic.xp.task.TaskInfo) TaskId(com.enonic.xp.task.TaskId) User(com.enonic.xp.security.User)

Aggregations

TaskId (com.enonic.xp.task.TaskId)26 Test (org.junit.jupiter.api.Test)19 DescriptorKey (com.enonic.xp.page.DescriptorKey)7 TaskInfo (com.enonic.xp.task.TaskInfo)7 PropertyTree (com.enonic.xp.data.PropertyTree)6 DescribedTask (com.enonic.xp.impl.task.distributed.DescribedTask)5 TasksReporterCallable (com.enonic.xp.impl.task.distributed.TasksReporterCallable)4 TaskManager (com.enonic.xp.impl.task.distributed.TaskManager)3 User (com.enonic.xp.security.User)3 RunnableTask (com.enonic.xp.task.RunnableTask)3 SubmitTaskParams (com.enonic.xp.task.SubmitTaskParams)3 Member (com.hazelcast.core.Member)3 Instant (java.time.Instant)3 Set (java.util.Set)3 Assertions.assertEquals (org.junit.jupiter.api.Assertions.assertEquals)3 Assertions.assertNull (org.junit.jupiter.api.Assertions.assertNull)3 Assertions.assertTrue (org.junit.jupiter.api.Assertions.assertTrue)3 ExtendWith (org.junit.jupiter.api.extension.ExtendWith)3 ApplicationKey (com.enonic.xp.app.ApplicationKey)2 Context (com.enonic.xp.context.Context)2