From 3f410468a865c14eaa9965ba64a3fbcb1b9b7dc8 Mon Sep 17 00:00:00 2001 From: Yun Wang Date: Sat, 14 Nov 2026 03:36:20 +0100 Subject: [PATCH] test: wait for the channel mute to reach member reads --- .../io/getstream/chat/java/ChannelTest.java | 59 ++++++++++--------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/src/test/java/io/getstream/chat/java/ChannelTest.java b/src/test/java/io/getstream/chat/java/ChannelTest.java index 58bd9275..0f0df0d1 100644 --- a/src/test/java/io/getstream/chat/java/ChannelTest.java +++ b/src/test/java/io/getstream/chat/java/ChannelTest.java @@ -454,34 +454,37 @@ void whenMutingChannel_thenIsMuted() { .user(testUserRequestObject) .request()); Assertions.assertTrue(isChannelMutedForTestUser(channel.getType(), channel.getId())); - ChannelMember channelMember = - Assertions.assertDoesNotThrow( - () -> - Channel.queryMembers() - .id(channel.getId()) - .type(channel.getType()) - .request() - .getMembers() - .stream() - .filter(cm -> cm.getUserId().equals(testUserRequestObject.getId())) - .findFirst() - .get()); - Assertions.assertTrue(channelMember.getNotificationsMuted()); - - ChannelMember chm = - Assertions.assertDoesNotThrow( - () -> - Channel.queryMembers() - .filterCondition("notifications_muted", true) - .id(channel.getId()) - .type(channel.getType()) - .request() - .getMembers() - .stream() - .filter(cm -> cm.getUserId().equals(testUserRequestObject.getId())) - .findFirst() - .get()); - Assertions.assertTrue(chm.getNotificationsMuted()); + // API nodes cache offline users for a few seconds, so a member read can lag behind the mute + waitFor( + () -> + Assertions.assertDoesNotThrow( + () -> + Channel.queryMembers() + .id(channel.getId()) + .type(channel.getType()) + .request() + .getMembers() + .stream() + .filter(cm -> cm.getUserId().equals(testUserRequestObject.getId())) + .findFirst() + .get()) + .getNotificationsMuted()); + + waitFor( + () -> + Assertions.assertDoesNotThrow( + () -> + Channel.queryMembers() + .filterCondition("notifications_muted", true) + .id(channel.getId()) + .type(channel.getType()) + .request() + .getMembers() + .stream() + .filter(cm -> cm.getUserId().equals(testUserRequestObject.getId())) + .findFirst() + .get()) + .getNotificationsMuted()); } private boolean isChannelMutedForTestUser(String channelType, String channelId) {