This is an automated email from the ASF dual-hosted git repository. rouazana pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 769d64edf8dbc22a5f27d5ce504f0c372f6ec803 Author: Matthieu Baechler <[email protected]> AuthorDate: Wed Oct 9 15:30:43 2019 +0200 JAMES-2813 check that AdditionalInformation instances are shared between nodes --- .../org/apache/james/task/TaskManagerContract.java | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/server/task/task-api/src/test/java/org/apache/james/task/TaskManagerContract.java b/server/task/task-api/src/test/java/org/apache/james/task/TaskManagerContract.java index 2420a83..d482eed 100644 --- a/server/task/task-api/src/test/java/org/apache/james/task/TaskManagerContract.java +++ b/server/task/task-api/src/test/java/org/apache/james/task/TaskManagerContract.java @@ -275,6 +275,45 @@ public interface TaskManagerContract { } @Test + default void additionalInformationShouldBeUpdatedDuringExecution(CountDownLatch countDownLatch) { + TaskManager taskManager = taskManager(); + TaskId id = taskManager.submit(new MemoryReferenceWithCounterTask((counter) -> { + counter.incrementAndGet(); + countDownLatch.await(); + return Task.Result.COMPLETED; + })); + + awaitUntilTaskHasStatus(id, TaskManager.Status.IN_PROGRESS, taskManager); + + calmlyAwait.atMost(FIVE_SECONDS).untilAsserted(() -> + assertThat(getAdditionalInformation(taskManager, id).getCount()).isEqualTo(1L)); + } + + @Test + default void additionalInformationShouldBeAvailableOnAnyTaskManagerDuringExecution(CountDownLatch countDownLatch) { + TaskManager taskManager = taskManager(); + TaskManager otherTaskManager = taskManager(); + TaskId id = taskManager.submit(new MemoryReferenceWithCounterTask((counter) -> { + counter.incrementAndGet(); + countDownLatch.await(); + return Task.Result.COMPLETED; + })); + + awaitUntilTaskHasStatus(id, TaskManager.Status.IN_PROGRESS, taskManager); + + calmlyAwait.atMost(FIVE_SECONDS).untilAsserted(() -> + assertThat(getAdditionalInformation(taskManager, id).getCount()).isEqualTo(1L)); + assertThat(getAdditionalInformation(otherTaskManager, id).getCount()).isEqualTo(1L); + } + + default MemoryReferenceWithCounterTask.AdditionalInformation getAdditionalInformation(TaskManager taskManager, TaskId id) { + return (MemoryReferenceWithCounterTask.AdditionalInformation) taskManager + .getExecutionDetails(id) + .getAdditionalInformation() + .get(); + } + + @Test default void getStatusShouldReturnFailedWhenRunPartially() { TaskManager taskManager = taskManager(); TaskId taskId = taskManager.submit( --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
