diff --git a/client/src/test/java/org/apache/rocketmq/client/impl/factory/MQClientInstanceTest.java b/client/src/test/java/org/apache/rocketmq/client/impl/factory/MQClientInstanceTest.java index d71bc25b9b3..39cff5db82b 100644 --- a/client/src/test/java/org/apache/rocketmq/client/impl/factory/MQClientInstanceTest.java +++ b/client/src/test/java/org/apache/rocketmq/client/impl/factory/MQClientInstanceTest.java @@ -54,6 +54,7 @@ import org.apache.rocketmq.remoting.protocol.route.QueueData; import org.apache.rocketmq.remoting.protocol.route.TopicRouteData; import org.apache.rocketmq.remoting.protocol.statictopic.TopicQueueMappingInfo; +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -128,6 +129,13 @@ public void init() throws Exception { FieldUtils.writeDeclaredField(mqClientInstance, "topicRouteTable", topicRouteTable, true); } + @After + public void tearDown() throws Exception { + brokerAddrTable.clear(); + consumerTable.clear(); + topicRouteTable.clear(); + } + @Test public void testFindBrokerAddressInSubscribe() { // dledger normal case @@ -229,7 +237,7 @@ public void testTopicRouteData2TopicPublishInfo() { @Test public void testTopicRouteData2TopicPublishInfoWithOrderTopicConf() { TopicRouteData topicRouteData = createTopicRouteData(); - when(topicRouteData.getOrderTopicConf()).thenReturn("127.0.0.1:4"); + topicRouteData.setOrderTopicConf("127.0.0.1:4"); TopicPublishInfo actual = MQClientInstance.topicRouteData2TopicPublishInfo(topic, topicRouteData); assertFalse(actual.isHaveTopicRouterInfo()); assertEquals(4, actual.getMessageQueueList().size()); @@ -238,7 +246,7 @@ public void testTopicRouteData2TopicPublishInfoWithOrderTopicConf() { @Test public void testTopicRouteData2TopicPublishInfoWithTopicQueueMappingByBroker() { TopicRouteData topicRouteData = createTopicRouteData(); - when(topicRouteData.getTopicQueueMappingByBroker()).thenReturn(Collections.singletonMap(topic, new TopicQueueMappingInfo())); + topicRouteData.setTopicQueueMappingByBroker(Collections.singletonMap(topic, new TopicQueueMappingInfo())); TopicPublishInfo actual = MQClientInstance.topicRouteData2TopicPublishInfo(topic, topicRouteData); assertFalse(actual.isHaveTopicRouterInfo()); assertEquals(0, actual.getMessageQueueList().size()); @@ -247,7 +255,7 @@ public void testTopicRouteData2TopicPublishInfoWithTopicQueueMappingByBroker() { @Test public void testTopicRouteData2TopicSubscribeInfo() { TopicRouteData topicRouteData = createTopicRouteData(); - when(topicRouteData.getTopicQueueMappingByBroker()).thenReturn(Collections.singletonMap(topic, new TopicQueueMappingInfo())); + topicRouteData.setTopicQueueMappingByBroker(Collections.singletonMap(topic, new TopicQueueMappingInfo())); Set actual = MQClientInstance.topicRouteData2TopicSubscribeInfo(topic, topicRouteData); assertNotNull(actual); assertEquals(0, actual.size()); @@ -320,7 +328,8 @@ public void testUpdateTopicRouteInfoFromNameServer() throws RemotingException, I DefaultMQProducer defaultMQProducer = mock(DefaultMQProducer.class); TopicRouteData topicRouteData = createTopicRouteData(); when(mQClientAPIImpl.getDefaultTopicRouteInfoFromNameServer(anyLong())).thenReturn(topicRouteData); - assertFalse(mqClientInstance.updateTopicRouteInfoFromNameServer(topic, true, defaultMQProducer)); + assertTrue(mqClientInstance.updateTopicRouteInfoFromNameServer(topic, true, defaultMQProducer)); + assertEquals(topicRouteData, topicRouteTable.get(topic)); } @Test @@ -450,9 +459,9 @@ private MessageQueue createMessageQueue() { } private TopicRouteData createTopicRouteData() { - TopicRouteData result = mock(TopicRouteData.class); - when(result.getBrokerDatas()).thenReturn(createBrokerDatas()); - when(result.getQueueDatas()).thenReturn(createQueueDatas()); + TopicRouteData result = new TopicRouteData(); + result.setBrokerDatas(createBrokerDatas()); + result.setQueueDatas(createQueueDatas()); return result; }