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


The following commit(s) were added to refs/heads/master by this push:
     new 7e9bbc71a8 JAMES-4191 DeletedMessageVaultIntegrationTest: fix some 
flaky tests (#2983)
7e9bbc71a8 is described below

commit 7e9bbc71a8c59d5e2a4f3ee66c56ba67acb033b4
Author: Trần Hồng Quân <[email protected]>
AuthorDate: Fri Mar 27 12:48:14 2026 +0700

    JAMES-4191 DeletedMessageVaultIntegrationTest: fix some flaky tests (#2983)
    
    Sometime, the listener did not append the deleted message to DMV in time, 
making the assertion failed.
---
 .../vault/DeletedMessageVaultIntegrationTest.java           | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git 
a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java
 
b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java
index ebac0a2aef..23dd752243 100644
--- 
a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java
+++ 
b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java
@@ -50,6 +50,7 @@ import static org.hamcrest.Matchers.notNullValue;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.time.Clock;
+import java.time.Duration;
 import java.time.ZonedDateTime;
 import java.util.List;
 import java.util.Map;
@@ -74,6 +75,7 @@ import org.apache.james.utils.TestIMAPClient;
 import org.apache.james.utils.UpdatableTickingClock;
 import org.apache.james.utils.WebAdminGuiceProbe;
 import org.apache.james.webadmin.WebAdminUtils;
+import org.awaitility.Awaitility;
 import org.awaitility.core.ConditionFactory;
 import org.hamcrest.Matchers;
 import org.junit.jupiter.api.AfterEach;
@@ -560,7 +562,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
         restoreMessagesFor(BART);
         awaitSearchUpToDate();
 
-        assertThat(restoredMessagesCount(homerCredential)).isEqualTo(1);
+        awaitRestoredMessagesCount(homerCredential, 1);
         assertThat(restoredMessagesCount(bartCredential)).isEqualTo(0);
 
         String restoredMessageId = getLatestMessageId(homerCredential, 
Role.RESTORED_MESSAGES);
@@ -588,7 +590,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
         restoreMessagesFor(BART);
         awaitSearchUpToDate();
 
-        assertThat(restoredMessagesCount(homerCredential)).isEqualTo(1);
+        awaitRestoredMessagesCount(homerCredential, 1);
         assertThat(restoredMessagesCount(bartCredential)).isEqualTo(0);
 
         String restoredMessageId = getLatestMessageId(homerCredential, 
Role.RESTORED_MESSAGES);
@@ -1166,6 +1168,13 @@ public abstract class DeletedMessageVaultIntegrationTest 
{
             .orElse(0);
     }
 
+    private void awaitRestoredMessagesCount(UserCredential credential, int 
expectedCount) {
+        Awaitility.await()
+            .atMost(Duration.ofMinutes(1))
+            .pollInterval(Duration.ofMillis(100))
+            .untilAsserted(() -> 
assertThat(restoredMessagesCount(credential)).isEqualTo(expectedCount));
+    }
+
     private void bartCopiesSharedMessageToOwnInbox() {
         try {
             mailboxProbe.copy(


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to