diff --git a/repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/AbstractTaskManagerTest.java b/repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/AbstractTaskManagerTest.java index d4b3276ba8f..8c36c44cd55 100644 --- a/repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/AbstractTaskManagerTest.java +++ b/repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/AbstractTaskManagerTest.java @@ -17,6 +17,7 @@ import java.math.BigInteger; import java.util.*; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.testng.annotations.BeforeSuite; import org.xml.sax.SAXException; @@ -45,24 +46,23 @@ import com.evolveum.midpoint.util.exception.SchemaException; import com.evolveum.midpoint.xml.ns._public.common.common_3.*; -public class AbstractTaskManagerTest extends AbstractSpringTest - implements OperationResultTestMixin { - - protected static final String CYCLE_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/cycle-task-handler"; - protected static final String CYCLE_FINISHING_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/cycle-finishing-task-handler"; - protected static final String SINGLE_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/single-task-handler"; - protected static final String SINGLE_TASK_HANDLER_2_URI = "http://midpoint.evolveum.com/test/single-task-handler-2"; - protected static final String SINGLE_TASK_HANDLER_3_URI = "http://midpoint.evolveum.com/test/single-task-handler-3"; - protected static final String SINGLE_WB_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/single-wb-task-handler"; - protected static final String PARTITIONED_WB_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/partitioned-wb-task-handler"; - protected static final String PARTITIONED_WB_TASK_HANDLER_URI_1 = PARTITIONED_WB_TASK_HANDLER_URI + "#1"; - protected static final String PARTITIONED_WB_TASK_HANDLER_URI_2 = PARTITIONED_WB_TASK_HANDLER_URI + "#2"; - protected static final String PARTITIONED_WB_TASK_HANDLER_URI_3 = PARTITIONED_WB_TASK_HANDLER_URI + "#3"; - protected static final String L1_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/l1-task-handler"; - protected static final String L2_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/l2-task-handler"; - protected static final String L3_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/l3-task-handler"; - protected static final String PARALLEL_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/parallel-task-handler"; - protected static final String LONG_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/long-task-handler"; +public class AbstractTaskManagerTest extends AbstractSpringTest implements OperationResultTestMixin { + + private static final String CYCLE_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/cycle-task-handler"; + private static final String CYCLE_FINISHING_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/cycle-finishing-task-handler"; + static final String SINGLE_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/single-task-handler"; + private static final String SINGLE_TASK_HANDLER_2_URI = "http://midpoint.evolveum.com/test/single-task-handler-2"; + private static final String SINGLE_TASK_HANDLER_3_URI = "http://midpoint.evolveum.com/test/single-task-handler-3"; + private static final String SINGLE_WB_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/single-wb-task-handler"; + private static final String PARTITIONED_WB_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/partitioned-wb-task-handler"; + private static final String PARTITIONED_WB_TASK_HANDLER_URI_1 = PARTITIONED_WB_TASK_HANDLER_URI + "#1"; + private static final String PARTITIONED_WB_TASK_HANDLER_URI_2 = PARTITIONED_WB_TASK_HANDLER_URI + "#2"; + private static final String PARTITIONED_WB_TASK_HANDLER_URI_3 = PARTITIONED_WB_TASK_HANDLER_URI + "#3"; + private static final String L1_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/l1-task-handler"; + static final String L2_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/l2-task-handler"; + static final String L3_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/l3-task-handler"; + private static final String PARALLEL_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/parallel-task-handler"; + private static final String LONG_TASK_HANDLER_URI = "http://midpoint.evolveum.com/test/long-task-handler"; public static final String COMMON_DIR = "src/test/resources/common"; private static final File USER_ADMINISTRATOR_FILE = new File(COMMON_DIR, "user-administrator.xml"); @@ -77,18 +77,16 @@ public class AbstractTaskManagerTest extends AbstractSpringTest @Autowired protected PrismContext prismContext; @Autowired protected SchemaHelper schemaHelper; - protected MockSingleTaskHandler singleHandler1, singleHandler2, singleHandler3; - protected MockWorkBucketsTaskHandler workBucketsTaskHandler; - protected MockWorkBucketsTaskHandler partitionedWorkBucketsTaskHandler; - protected MockSingleTaskHandler l1Handler, l2Handler, l3Handler; - protected MockCycleTaskHandler cycleFinishingHandler; - protected MockParallelTaskHandler parallelTaskHandler; - protected MockLongTaskHandler longTaskHandler; + MockSingleTaskHandler singleHandler1, singleHandler2, singleHandler3; + MockWorkBucketsTaskHandler workBucketsTaskHandler; + MockWorkBucketsTaskHandler partitionedWorkBucketsTaskHandler; + MockSingleTaskHandler l1Handler, l2Handler, l3Handler; + MockParallelTaskHandler parallelTaskHandler; - protected void initHandlers() { - MockCycleTaskHandler cycleHandler = new MockCycleTaskHandler(false); // ordinary recurring task + private void initHandlers() { + MockCycleTaskHandler cycleHandler = new MockCycleTaskHandler(false); // ordinary recurring task taskManager.registerHandler(CYCLE_TASK_HANDLER_URI, cycleHandler); - cycleFinishingHandler = new MockCycleTaskHandler(true); // finishes the handler + MockCycleTaskHandler cycleFinishingHandler = new MockCycleTaskHandler(true); // finishes the handler taskManager.registerHandler(CYCLE_FINISHING_TASK_HANDLER_URI, cycleFinishingHandler); singleHandler1 = new MockSingleTaskHandler("1", taskManager); @@ -118,7 +116,7 @@ protected void initHandlers() { parallelTaskHandler = new MockParallelTaskHandler("1", taskManager); taskManager.registerHandler(PARALLEL_TASK_HANDLER_URI, parallelTaskHandler); - longTaskHandler = new MockLongTaskHandler("1", taskManager); + MockLongTaskHandler longTaskHandler = new MockLongTaskHandler("1", taskManager); taskManager.registerHandler(LONG_TASK_HANDLER_URI, longTaskHandler); } @@ -133,13 +131,8 @@ public void initialize() throws Exception { addObjectFromFile(USER_ADMINISTRATOR_FILE.getPath()); } - protected PrismObject unmarshallJaxbFromFile(String filePath) throws IOException, SchemaException { - File file = new File(filePath); - return PrismTestUtil.parseObject(file); - } - - protected PrismObject addObjectFromFile(String filePath) throws Exception { - PrismObject object = unmarshallJaxbFromFile(filePath); + PrismObject addObjectFromFile(String filePath) throws Exception { + PrismObject object = PrismTestUtil.parseObject(new File(filePath)); OperationResult result = createOperationResult("addObjectFromFile"); try { add(object, result); @@ -147,13 +140,14 @@ protected PrismObject addObjectFromFile(String filePat delete(object, result); add(object, result); } - logger.trace("Object from " + filePath + " added to repository."); + logger.trace("Object from {} added to repository.", filePath); return object; } protected void add(PrismObject object, OperationResult result) throws ObjectAlreadyExistsException, SchemaException { if (object.canRepresent(TaskType.class)) { + //noinspection unchecked,rawtypes taskManager.addTask((PrismObject) object, result); } else { repositoryService.addObject(object, null, result); @@ -168,8 +162,8 @@ protected void delete(PrismObject object, OperationResult } } - protected void waitForTaskClose(String taskOid, OperationResult result, long timeoutInterval, long sleepInterval) throws - CommonException { + void waitForTaskClose(String taskOid, OperationResult result, long timeoutInterval, long sleepInterval) + throws CommonException { waitFor("Waiting for task to close", () -> { Task task = taskManager.getTaskWithResult(taskOid, result); IntegrationTestTools.display("Task while waiting for it to close", task); @@ -177,7 +171,8 @@ protected void waitForTaskClose(String taskOid, OperationResult result, long tim }, timeoutInterval, sleepInterval); } - protected void waitForTaskRunnable(String taskOid, OperationResult result, long timeoutInterval, long sleepInterval) throws + @SuppressWarnings("SameParameterValue") + void waitForTaskRunnable(String taskOid, OperationResult result, long timeoutInterval, long sleepInterval) throws CommonException { waitFor("Waiting for task to become runnable", () -> { Task task = taskManager.getTaskWithResult(taskOid, result); @@ -186,7 +181,8 @@ protected void waitForTaskRunnable(String taskOid, OperationResult result, long }, timeoutInterval, sleepInterval); } - protected void waitForTaskCloseCheckingSubtasks(String taskOid, OperationResult result, long timeoutInterval, long sleepInterval) throws + @SuppressWarnings("SameParameterValue") + void waitForTaskCloseCheckingSubtasks(String taskOid, OperationResult result, long timeoutInterval, long sleepInterval) throws CommonException { waitFor("Waiting for task manager to execute the task", () -> { Task task = taskManager.getTaskWithResult(taskOid, result); @@ -215,7 +211,7 @@ protected void waitForTaskStart(String oid, OperationResult result, long timeout }, timeoutInterval, sleepInterval); } - protected void waitForTaskProgress(String taskOid, OperationResult result, long timeoutInterval, long sleepInterval, + void waitForTaskProgress(String taskOid, OperationResult result, long timeoutInterval, long sleepInterval, int threshold) throws CommonException { waitFor("Waiting for task progress reaching " + threshold, () -> { Task task = taskManager.getTaskWithResult(taskOid, result); @@ -224,11 +220,11 @@ protected void waitForTaskProgress(String taskOid, OperationResult result, long }, timeoutInterval, sleepInterval); } - protected void suspendAndDeleteTasks(String... oids) { + void suspendAndDeleteTasks(String... oids) { taskManager.suspendAndDeleteTasks(Arrays.asList(oids), 20000L, true, new OperationResult("dummy")); } - protected void sleepChecked(long delay) { + void sleepChecked(long delay) { try { Thread.sleep(delay); } catch (InterruptedException e) { @@ -236,7 +232,7 @@ protected void sleepChecked(long delay) { } } - protected void assertTotalSuccessCount(int expectedCount, Collection workers) { + void assertTotalSuccessCount(int expectedCount, Collection workers) { int total = 0; for (Task worker : workers) { total += worker.getStoredOperationStats().getIterativeTaskInformation().getTotalSuccessCount(); @@ -244,11 +240,11 @@ protected void assertTotalSuccessCount(int expectedCount, Collection> retrieveItemsNamed(Object... items) { + Collection> retrieveItemsNamed(Object... items) { return schemaHelper.getOperationOptionsBuilder() .items(items).retrieve() .build(); @@ -349,4 +345,9 @@ protected void display(String title, DebugDumpable value) { protected void display(String title, Object value) { PrismTestUtil.display(title, value); } + + @NotNull + TaskQuartzImpl createTaskFromFile(String filePath, OperationResult result) throws Exception { + return taskManager.createTaskInstance(addObjectFromFile(filePath), result); + } } diff --git a/repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/TestTaskManagerContract.java b/repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/TestTaskManagerContract.java index 4f09c3ea90f..dae92dc9872 100644 --- a/repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/TestTaskManagerContract.java +++ b/repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/TestTaskManagerContract.java @@ -821,8 +821,7 @@ public void test017WaitForSubtasksEmpty() throws Exception { taskManager.getClusterManager().startClusterManagerThread(); try { - Task rootTask = taskManager.createTaskInstance( - addObjectFromFile(taskFilename()), result); + Task rootTask = createTaskFromFile(taskFilename(), result); display("root task", rootTask); waitForTaskClose(taskOid(), result, 40000, 3000); } finally { @@ -908,7 +907,7 @@ public void test019FinishedHandler() throws Exception { public void test020QueryByExecutionStatus() throws Exception { final OperationResult result = createOperationResult(); - taskManager.createTaskInstance(addObjectFromFile(taskFilename()), result); + addObjectFromFile(taskFilename()); ObjectFilter filter1 = prismContext.queryFor(TaskType.class).item(TaskType.F_EXECUTION_STATUS).eq(TaskExecutionStatusType.WAITING).buildFilter(); ObjectFilter filter2 = prismContext.queryFor(TaskType.class).item(TaskType.F_WAITING_REASON).eq(TaskWaitingReasonType.OTHER).buildFilter(); diff --git a/repo/task-quartz-impl/src/test/resources/basic/task-001TaskToken.xml b/repo/task-quartz-impl/src/test/resources/basic/task-001TaskToken.xml deleted file mode 100644 index a43c6701e01..00000000000 --- a/repo/task-quartz-impl/src/test/resources/basic/task-001TaskToken.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - Passive task 0001 - - 91919190-76e0-59e2-86d6-3d4f02d30001 - - - waiting - - http://midpoint.evolveum.com/test/single-task-handler - - single - diff --git a/repo/task-quartz-impl/src/test/resources/basic/task-002OidPresence.xml b/repo/task-quartz-impl/src/test/resources/basic/task-002OidPresence.xml deleted file mode 100644 index 5aaf20f58e1..00000000000 --- a/repo/task-quartz-impl/src/test/resources/basic/task-002OidPresence.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - Passive task 0002 - - 91919190-76e0-59e2-86d6-3d4f02d30002 - - - waiting - - http://midpoint.evolveum.com/test/single-task-handler - - single - diff --git a/repo/task-quartz-impl/src/test/resources/basic/task-003GetProgress.xml b/repo/task-quartz-impl/src/test/resources/basic/task-003GetProgress.xml index 701cc77c153..f9fa71a6fe8 100644 --- a/repo/task-quartz-impl/src/test/resources/basic/task-003GetProgress.xml +++ b/repo/task-quartz-impl/src/test/resources/basic/task-003GetProgress.xml @@ -9,14 +9,7 @@ + xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3" xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3"> Passive task 0003