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]