From fa4ee92726812807b19697df0bf52f3b63498801 Mon Sep 17 00:00:00 2001 From: unbridled-41 Date: Tue, 1 Sep 2026 20:24:20 +0800 Subject: [PATCH] fix(test): stabilize client offline receipt handle test Signed-off-by: unbridled-41 --- .../receipt/DefaultReceiptHandleManagerTest.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/proxy/src/test/java/org/apache/rocketmq/proxy/service/receipt/DefaultReceiptHandleManagerTest.java b/proxy/src/test/java/org/apache/rocketmq/proxy/service/receipt/DefaultReceiptHandleManagerTest.java index a01c356f779..961d68951e9 100644 --- a/proxy/src/test/java/org/apache/rocketmq/proxy/service/receipt/DefaultReceiptHandleManagerTest.java +++ b/proxy/src/test/java/org/apache/rocketmq/proxy/service/receipt/DefaultReceiptHandleManagerTest.java @@ -460,7 +460,16 @@ public void testClientOffline() { Mockito.verify(consumerManager, Mockito.times(1)).appendConsumerIdsChangeListener(listenerArgumentCaptor.capture()); Channel channel = PROXY_CONTEXT.getVal(ContextVariable.CHANNEL); receiptHandleManager.addReceiptHandle(PROXY_CONTEXT, channel, GROUP, MSG_ID, messageReceiptHandle); + Mockito.when(messagingProcessor.changeInvisibleTime(Mockito.any(ProxyContext.class), Mockito.any(ReceiptHandle.class), + Mockito.eq(MESSAGE_ID), Mockito.eq(GROUP), Mockito.eq(TOPIC), + Mockito.eq(ConfigurationManager.getProxyConfig().getInvisibleTimeMillisWhenClear()))) + .thenReturn(CompletableFuture.completedFuture(new AckResult())); listenerArgumentCaptor.getValue().handle(ConsumerGroupEvent.CLIENT_UNREGISTER, GROUP, new ClientChannelInfo(channel, "", LanguageCode.JAVA, 0)); - assertTrue(receiptHandleManager.receiptHandleGroupMap.isEmpty()); + await().atMost(Duration.ofSeconds(1)).untilAsserted(() -> { + Mockito.verify(messagingProcessor, Mockito.times(1)) + .changeInvisibleTime(Mockito.any(ProxyContext.class), Mockito.any(ReceiptHandle.class), Mockito.eq(MESSAGE_ID), + Mockito.eq(GROUP), Mockito.eq(TOPIC), Mockito.eq(ConfigurationManager.getProxyConfig().getInvisibleTimeMillisWhenClear())); + assertTrue(receiptHandleManager.receiptHandleGroupMap.isEmpty()); + }); } -} \ No newline at end of file +}