diff --git a/broker/src/test/java/org/apache/rocketmq/broker/pop/PopConsumerServiceTest.java b/broker/src/test/java/org/apache/rocketmq/broker/pop/PopConsumerServiceTest.java index 2b930d5852c..9299f65c696 100644 --- a/broker/src/test/java/org/apache/rocketmq/broker/pop/PopConsumerServiceTest.java +++ b/broker/src/test/java/org/apache/rocketmq/broker/pop/PopConsumerServiceTest.java @@ -62,6 +62,8 @@ import org.junit.Test; import org.mockito.Mockito; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyLong; @@ -150,6 +152,15 @@ public void pendingFilterCountTest() throws ConsumeQueueException { Assert.assertEquals(consumerService.getPendingFilterCount(groupId, topicId, queueId), 80L); } + @Test + public void pendingFilterCountTest_consumeQueueException() throws ConsumeQueueException { + MessageStore messageStore = Mockito.mock(MessageStore.class); + Mockito.when(messageStore.getMaxOffsetInQueue(topicId, queueId)).thenThrow(new ConsumeQueueException("queue fail!")); + Mockito.when(brokerController.getMessageStore()).thenReturn(messageStore); + Assert.assertThrows(RuntimeException.class, () -> consumerService.getPendingFilterCount(groupId, topicId, queueId)); + verify(brokerController, never()).getConsumerOffsetManager(); + } + private MessageExt getMessageExt() { MessageExt messageExt = new MessageExt(); messageExt.setTopic(topicId);