mirror of
https://github.com/apache/rocketmq-dashboard.git
synced 2026-02-19 02:55:42 +08:00
* [ISSUE #19]Message track query enhancement * traceTopic can be null and system Topic is used by default * add unit test * select messageTrack topic in messageTrace page Co-authored-by: zhangjidi <zhangjidi@cmss.chinamobile.com>
This commit is contained in:
@@ -18,7 +18,6 @@
|
||||
package org.apache.rocketmq.dashboard.config;
|
||||
|
||||
import java.io.File;
|
||||
import org.apache.rocketmq.common.topic.TopicValidator;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.springframework.boot.web.server.ErrorPage;
|
||||
@@ -38,7 +37,6 @@ public class RMQConfigureTest {
|
||||
rmqConfigure.setIsVIPChannel("true");
|
||||
rmqConfigure.setUseTLS(true);
|
||||
rmqConfigure.setLoginRequired(true);
|
||||
rmqConfigure.setMsgTrackTopicName(null);
|
||||
rmqConfigure.setNamesrvAddr("127.0.0.1:9876");
|
||||
rmqConfigure.setTimeoutMillis(3000L);
|
||||
}
|
||||
@@ -55,7 +53,6 @@ public class RMQConfigureTest {
|
||||
Assert.assertEquals(rmqConfigure.getIsVIPChannel(), "true");
|
||||
Assert.assertTrue(rmqConfigure.isEnableDashBoardCollect());
|
||||
Assert.assertTrue(rmqConfigure.isLoginRequired());
|
||||
Assert.assertEquals(rmqConfigure.getMsgTrackTopicNameOrDefault(), TopicValidator.RMQ_SYS_TRACE_TOPIC);
|
||||
Assert.assertEquals(rmqConfigure.getNamesrvAddr(), "127.0.0.1:9876");
|
||||
Assert.assertEquals(rmqConfigure.getTimeoutMillis().longValue(), 3000L);
|
||||
ErrorPageRegistrar registrar = rmqConfigure.errorPageRegistrar();
|
||||
|
||||
@@ -22,7 +22,6 @@ import org.apache.rocketmq.client.QueryResult;
|
||||
import org.apache.rocketmq.client.exception.MQClientException;
|
||||
import org.apache.rocketmq.client.trace.TraceType;
|
||||
import org.apache.rocketmq.common.message.MessageExt;
|
||||
import org.apache.rocketmq.common.topic.TopicValidator;
|
||||
import org.apache.rocketmq.dashboard.service.impl.MessageServiceImpl;
|
||||
import org.apache.rocketmq.dashboard.service.impl.MessageTraceServiceImpl;
|
||||
import org.apache.rocketmq.dashboard.util.MockObjectUtil;
|
||||
@@ -57,7 +56,6 @@ public class MessageTraceControllerTest extends BaseControllerTest {
|
||||
@Before
|
||||
public void init() throws MQClientException, InterruptedException {
|
||||
super.mockRmqConfigure();
|
||||
when(configure.getMsgTrackTopicNameOrDefault()).thenReturn(TopicValidator.RMQ_SYS_TRACE_TOPIC);
|
||||
List<MessageExt> messageList = new ArrayList<>(2);
|
||||
MessageExt messageExt = MockObjectUtil.createMessageExt();
|
||||
messageExt.setBody(MockObjectUtil.createTraceData().getBytes());
|
||||
|
||||
@@ -44,6 +44,8 @@ import org.apache.rocketmq.dashboard.model.request.TopicConfigInfo;
|
||||
import org.apache.rocketmq.dashboard.service.impl.ConsumerServiceImpl;
|
||||
import org.apache.rocketmq.dashboard.service.impl.TopicServiceImpl;
|
||||
import org.apache.rocketmq.dashboard.util.MockObjectUtil;
|
||||
import org.apache.rocketmq.remoting.RPCHook;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.mockito.InjectMocks;
|
||||
@@ -91,6 +93,8 @@ public class TopicControllerTest extends BaseControllerTest {
|
||||
topicSet.add("common_topic2");
|
||||
topicSet.add("system_topic1");
|
||||
topicSet.add("system_topic2");
|
||||
topicSet.add("%DLQ%topic");
|
||||
topicSet.add("%RETRY%topic");
|
||||
topicList.setTopicList(topicSet);
|
||||
when(mqAdminExt.fetchAllTopicList()).thenReturn(topicList);
|
||||
// mock system topics
|
||||
@@ -117,10 +121,18 @@ public class TopicControllerTest extends BaseControllerTest {
|
||||
requestBuilder = MockMvcRequestBuilders.get(url);
|
||||
requestBuilder.param("skipSysProcess", String.valueOf(true));
|
||||
perform = mockMvc.perform(requestBuilder);
|
||||
perform.andExpect(status().isOk())
|
||||
.andExpect(jsonPath("$.data.topicList", hasSize(6)));
|
||||
|
||||
// 2、list all topic filter DLQ and Retry topic
|
||||
requestBuilder = MockMvcRequestBuilders.get(url);
|
||||
requestBuilder.param("skipSysProcess", String.valueOf(false));
|
||||
requestBuilder.param("skipRetryAndDlq", String.valueOf(true));
|
||||
perform = mockMvc.perform(requestBuilder);
|
||||
perform.andExpect(status().isOk())
|
||||
.andExpect(jsonPath("$.data.topicList", hasSize(4)));
|
||||
|
||||
// 2、filter system topic
|
||||
// 3、filter system topic
|
||||
requestBuilder = MockMvcRequestBuilders.get(url);
|
||||
perform = mockMvc.perform(requestBuilder);
|
||||
perform.andExpect(status().isOk())
|
||||
@@ -249,7 +261,7 @@ public class TopicControllerTest extends BaseControllerTest {
|
||||
when(producer.send(any(Message.class))).thenReturn(result);
|
||||
doReturn(producer).when(topicService).buildDefaultMQProducer(anyString(), any(), anyBoolean());
|
||||
}
|
||||
|
||||
Assert.assertNotNull(topicService.buildDefaultMQProducer("group_test", mock(RPCHook.class)));
|
||||
SendTopicMessageRequest request = new SendTopicMessageRequest();
|
||||
request.setTopic(topicName);
|
||||
request.setMessageBody("hello world");
|
||||
|
||||
Reference in New Issue
Block a user