You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2021/02/17 01:46:49 UTC

[james-project] 11/13: JAMES-3500 Fasten Task tests

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit dddc74a8f53a740418fbda4cd1c9173cf2297bcd
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Mon Feb 15 07:48:19 2021 +0700

    JAMES-3500 Fasten Task tests
    
     - Reduce waiting periods
    
    This effectively make us reclaim ~1 minute of build time
---
 .../test/java/org/apache/james/task/TaskManagerContract.java |  8 ++++----
 .../distributed/DistributedTaskManagerTest.java              |  4 ++--
 .../org/apache/james/task/SerialTaskManagerWorkerTest.java   | 12 ++++++------
 3 files changed, 12 insertions(+), 12 deletions(-)

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 76cf714..3e5b4a1 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
@@ -44,7 +44,7 @@ public interface TaskManagerContract {
         .with()
         .pollDelay(slowPacedPollInterval)
         .await();
-    ConditionFactory awaitAtMostFiveSeconds = calmlyAwait.atMost(Duration.ofSeconds(5));
+    ConditionFactory awaitAtMostTwoSeconds = calmlyAwait.atMost(Duration.ofSeconds(2));
     java.time.Duration TIMEOUT = java.time.Duration.ofMinutes(15);
 
     TaskManager taskManager();
@@ -140,7 +140,7 @@ public interface TaskManagerContract {
         awaitUntilTaskHasStatus(id, TaskManager.Status.IN_PROGRESS, taskManager);
         taskManager.cancel(id);
 
-        awaitAtMostFiveSeconds.untilAsserted(() ->
+        awaitAtMostTwoSeconds.untilAsserted(() ->
             assertThat(taskManager.getExecutionDetails(id).getStatus())
                 .isIn(TaskManager.Status.CANCELLED, TaskManager.Status.CANCEL_REQUESTED));
 
@@ -573,7 +573,7 @@ public interface TaskManagerContract {
             return Task.Result.COMPLETED;
         }));
 
-        awaitAtMostFiveSeconds.until(() -> queue.contains(6));
+        awaitAtMostTwoSeconds.until(() -> queue.contains(6));
 
         assertThat(queue)
             .containsExactly(1, 2, 3, 4, 5, 6);
@@ -598,6 +598,6 @@ public interface TaskManagerContract {
     }
 
     default void awaitUntilTaskHasStatus(TaskId id, TaskManager.Status status, TaskManager taskManager) {
-        awaitAtMostFiveSeconds.until(() -> taskManager.getExecutionDetails(id).getStatus(), Matchers.equalTo(status));
+        awaitAtMostTwoSeconds.until(() -> taskManager.getExecutionDetails(id).getStatus(), Matchers.equalTo(status));
     }
 }
diff --git a/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/DistributedTaskManagerTest.java b/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/DistributedTaskManagerTest.java
index 2db3ea6..de2a3ca 100644
--- a/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/DistributedTaskManagerTest.java
+++ b/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/DistributedTaskManagerTest.java
@@ -367,7 +367,7 @@ class DistributedTaskManagerTest implements TaskManagerContract {
         Pair<Hostname, TaskManager> remoteTaskManager = getOtherTaskManager(runningNode, Pair.of(HOSTNAME, taskManager1), Pair.of(HOSTNAME_2, taskManager2));
         remoteTaskManager.getValue().cancel(id);
 
-        awaitAtMostFiveSeconds.untilAsserted(() ->
+        awaitAtMostTwoSeconds.untilAsserted(() ->
             assertThat(taskManager1.getExecutionDetails(id).getStatus())
                 .isIn(TaskManager.Status.CANCELLED, TaskManager.Status.CANCEL_REQUESTED));
 
@@ -453,7 +453,7 @@ class DistributedTaskManagerTest implements TaskManagerContract {
             TaskId taskToExecuteAfterFirstNodeIsDown = taskManagerRunningFirstTask.submit(new CompletedTask());
             taskManagerRunningFirstTask.close();
 
-            awaitAtMostFiveSeconds.untilAsserted(() ->
+            awaitAtMostTwoSeconds.untilAsserted(() ->
                 assertThat(otherTaskManager.getExecutionDetails(taskToExecuteAfterFirstNodeIsDown).getStatus())
                     .isEqualTo(TaskManager.Status.COMPLETED));
             TaskExecutionDetails detailsSecondTask = otherTaskManager.getExecutionDetails(taskToExecuteAfterFirstNodeIsDown);
diff --git a/server/task/task-memory/src/test/java/org/apache/james/task/SerialTaskManagerWorkerTest.java b/server/task/task-memory/src/test/java/org/apache/james/task/SerialTaskManagerWorkerTest.java
index 669e0bf..77c2be8 100644
--- a/server/task/task-memory/src/test/java/org/apache/james/task/SerialTaskManagerWorkerTest.java
+++ b/server/task/task-memory/src/test/java/org/apache/james/task/SerialTaskManagerWorkerTest.java
@@ -45,7 +45,7 @@ import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 
 class SerialTaskManagerWorkerTest {
-    private  static final Duration UPDATE_INFORMATION_POLLING_DURATION = Duration.ofSeconds(1);
+    private  static final Duration UPDATE_INFORMATION_POLLING_DURATION = Duration.ofMillis(100);
 
     private TaskManagerWorker.Listener listener;
     private SerialTaskManagerWorker worker;
@@ -87,14 +87,14 @@ class SerialTaskManagerWorkerTest {
     void aRunningTaskShouldProvideInformationUpdatesDuringExecution() throws InterruptedException {
         TaskWithId taskWithId = new TaskWithId(TaskId.generateTaskId(), new MemoryReferenceWithCounterTask((counter) ->
             Mono.fromCallable(counter::incrementAndGet)
-                .delayElement(Duration.ofSeconds(2))
+                .delayElement(Duration.ofMillis(200))
                 .repeat(10)
                 .then(Mono.just(Task.Result.COMPLETED))
                 .block()));
 
         worker.executeTask(taskWithId).subscribe();
 
-        TimeUnit.SECONDS.sleep(2);
+        TimeUnit.MILLISECONDS.sleep(200);
 
         verify(listener, atLeastOnce()).updated(eq(taskWithId.getId()), notNull());
     }
@@ -103,7 +103,7 @@ class SerialTaskManagerWorkerTest {
     void aRunningTaskShouldHaveAFiniteNumberOfInformation() {
         TaskWithId taskWithId = new TaskWithId(TaskId.generateTaskId(), new MemoryReferenceWithCounterTask((counter) ->
             Mono.fromCallable(counter::incrementAndGet)
-                .delayElement(Duration.ofSeconds(1))
+                .delayElement(Duration.ofMillis(100))
                 .repeat(3)
                 .then(Mono.just(Task.Result.COMPLETED))
                 .block()));
@@ -114,10 +114,10 @@ class SerialTaskManagerWorkerTest {
     }
 
     @Test
-    void aRunningTaskShouldEmitAtMostOneInformationPerSecond() {
+    void aRunningTaskShouldEmitAtMostOneInformationPerPeriod() {
         TaskWithId taskWithId = new TaskWithId(TaskId.generateTaskId(), new MemoryReferenceWithCounterTask((counter) ->
             Mono.fromCallable(counter::incrementAndGet)
-                .delayElement(Duration.ofMillis(10))
+                .delayElement(Duration.ofMillis(1))
                 .repeat(200)
                 .then(Mono.just(Task.Result.COMPLETED))
                 .block()));


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org