You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by hq...@apache.org on 2025/10/29 07:11:41 UTC

(james-project) 07/07: JAMES-4148 Fix failing runRulesOnAllUsersMailboxShouldComplete integration test

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

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

commit b1a5d746cd0c5dc65d4f2bbc57dec1e3b7a13150
Author: Quan Tran <hq...@linagora.com>
AuthorDate: Wed Oct 29 12:03:25 2025 +0700

    JAMES-4148 Fix failing runRulesOnAllUsersMailboxShouldComplete integration test
    
    the test was not happy with a blocking call issue.
---
 .../RabbitMQWebAdminServerTaskSerializationIntegrationTest.java       | 3 +--
 .../apache/james/webadmin/data/jmap/RunRuleOnAllMailboxesRoute.java   | 4 ++--
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationTest.java
index 32a5a89011..0a992d21c7 100644
--- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationTest.java
+++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationTest.java
@@ -844,8 +844,7 @@ class RabbitMQWebAdminServerTaskSerializationIntegrationTest {
             .hasSize(2)
             .first()
             .satisfies(map -> assertThat(map).hasSize(2)
-                .containsKeys("taskId")
-                .containsEntry("username", USERNAME));
+                .containsKeys("taskId", "username"));
     }
 
     @Test
diff --git a/server/protocols/webadmin/webadmin-jmap/src/main/java/org/apache/james/webadmin/data/jmap/RunRuleOnAllMailboxesRoute.java b/server/protocols/webadmin/webadmin-jmap/src/main/java/org/apache/james/webadmin/data/jmap/RunRuleOnAllMailboxesRoute.java
index 14b2683fc1..cc095f626e 100644
--- a/server/protocols/webadmin/webadmin-jmap/src/main/java/org/apache/james/webadmin/data/jmap/RunRuleOnAllMailboxesRoute.java
+++ b/server/protocols/webadmin/webadmin-jmap/src/main/java/org/apache/james/webadmin/data/jmap/RunRuleOnAllMailboxesRoute.java
@@ -124,9 +124,8 @@ public class RunRuleOnAllMailboxesRoute implements ConditionalRoute {
     private List<UserTask> runRulesOnAllUsersMailbox(MailboxName mailboxName, Rules rules) {
         return Flux.from(usersRepository.listReactive())
             .filterWhen(username -> mailboxForUserExists(username, mailboxName))
-            .flatMap(username -> runRulesOnUserMailbox(username, mailboxName, rules))
+            .concatMap(username -> runRulesOnUserMailbox(username, mailboxName, rules))
             .collectList()
-            .subscribeOn(ReactorUtils.BLOCKING_CALL_WRAPPER)
             .block();
     }
 
@@ -134,6 +133,7 @@ public class RunRuleOnAllMailboxesRoute implements ConditionalRoute {
         Task task = new RunRulesOnMailboxTask(username, mailboxName, rules, runRulesOnMailboxService);
 
         return Mono.fromCallable(() -> taskManager.submit(task))
+            .subscribeOn(ReactorUtils.BLOCKING_CALL_WRAPPER)
             .map(taskId -> new UserTask(username, taskId));
     }
 


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