public TopicRouteData getTopicRouteInfoFromNameServer(final String topic, final long timeoutMillis)
        throws RemotingException, MQClientException, InterruptedException {
        return getTopicRouteInfoFromNameServer(topic, timeoutMillis, true);
    }
@Test
    public void assertGetTopicRouteInfoFromNameServer() throws RemotingException, InterruptedException, MQClientException {
        mockInvokeSync();
        TopicRouteData responseBody = new TopicRouteData();
        responseBody.getQueueDatas().add(new QueueData());
        responseBody.getBrokerDatas().add(new BrokerData());
        responseBody.getFilterServerTable().put("key", Collections.emptyList());
        Map<String, TopicQueueMappingInfo> topicQueueMappingByBroker = new HashMap<>();
        topicQueueMappingByBroker.put("key", new TopicQueueMappingInfo());
        responseBody.setTopicQueueMappingByBroker(topicQueueMappingByBroker);
        setResponseBody(responseBody);
        TopicRouteData actual = mqClientAPI.getTopicRouteInfoFromNameServer(defaultTopic, defaultTimeout);
        assertNotNull(actual);
        assertEquals(1, actual.getQueueDatas().size());
        assertEquals(1, actual.getBrokerDatas().size());
        assertEquals(1, actual.getFilterServerTable().size());
        assertEquals(1, actual.getTopicQueueMappingByBroker().size());
    }