You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by ti...@apache.org on 2021/11/12 02:14:38 UTC
[rocketmq] branch develop updated: add defaultRequestProcessor test
This is an automated email from the ASF dual-hosted git repository.
tigerlee pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git
The following commit(s) were added to refs/heads/develop by this push:
new 861ef50 add defaultRequestProcessor test
new 4b8b307 Merge pull request #3269 from zhaohai1299002788/add-defaultRequestProcessor-test
861ef50 is described below
commit 861ef50bf5f3eea9a244f0407ce0742d1c74c226
Author: zh378814 <wb...@alibaba-inc.com>
AuthorDate: Mon Aug 16 16:54:08 2021 +0800
add defaultRequestProcessor test
---
.../processor/DefaultRequestProcessorTest.java | 149 ++++++++++++++++++++-
1 file changed, 148 insertions(+), 1 deletion(-)
diff --git a/namesrv/src/test/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessorTest.java b/namesrv/src/test/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessorTest.java
index d4a2f66..22cf978 100644
--- a/namesrv/src/test/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessorTest.java
+++ b/namesrv/src/test/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessorTest.java
@@ -235,6 +235,153 @@ public class DefaultRequestProcessorTest {
assertThat((Map) brokerAddrTable.get(routes)).isNotEmpty();
}
+ @Test
+ public void testGetRouteInfoByTopic() throws RemotingCommandException {
+ ChannelHandlerContext ctx = mock(ChannelHandlerContext.class);
+ when(ctx.channel()).thenReturn(null);
+ RemotingCommand request = getRemotingCommand(RequestCode.GET_ROUTEINFO_BY_TOPIC);
+ RemotingCommand remotingCommandSuccess = defaultRequestProcessor.processRequest(ctx, request);
+ assertThat(remotingCommandSuccess.getCode()).isEqualTo(ResponseCode.SUCCESS);
+ request.getExtFields().put("topic", "test");
+ RemotingCommand remotingCommandNoTopicRouteInfo = defaultRequestProcessor.processRequest(ctx, request);
+ assertThat(remotingCommandNoTopicRouteInfo.getCode()).isEqualTo(ResponseCode.TOPIC_NOT_EXIST);
+ }
+
+ @Test
+ public void testGetBrokerClusterInfo() throws RemotingCommandException {
+ ChannelHandlerContext ctx = mock(ChannelHandlerContext.class);
+ when(ctx.channel()).thenReturn(null);
+ RemotingCommand request = getRemotingCommand(RequestCode.GET_BROKER_CLUSTER_INFO);
+ RemotingCommand remotingCommand = defaultRequestProcessor.processRequest(ctx, request);
+ assertThat(remotingCommand.getCode()).isEqualTo(ResponseCode.SUCCESS);
+ }
+
+ @Test
+ public void testWipeWritePermOfBroker() throws RemotingCommandException {
+ ChannelHandlerContext ctx = mock(ChannelHandlerContext.class);
+ when(ctx.channel()).thenReturn(null);
+ RemotingCommand request = getRemotingCommand(RequestCode.WIPE_WRITE_PERM_OF_BROKER);
+ RemotingCommand remotingCommand = defaultRequestProcessor.processRequest(ctx, request);
+ assertThat(remotingCommand.getCode()).isEqualTo(ResponseCode.SUCCESS);
+ }
+
+ @Test
+ public void testGetAllTopicListFromNameserver() throws RemotingCommandException {
+ ChannelHandlerContext ctx = mock(ChannelHandlerContext.class);
+ when(ctx.channel()).thenReturn(null);
+ RemotingCommand request = getRemotingCommand(RequestCode.GET_ALL_TOPIC_LIST_FROM_NAMESERVER);
+ RemotingCommand remotingCommand = defaultRequestProcessor.processRequest(ctx, request);
+ assertThat(remotingCommand.getCode()).isEqualTo(ResponseCode.SUCCESS);
+ }
+
+ @Test
+ public void testDeleteTopicInNamesrv() throws RemotingCommandException {
+ ChannelHandlerContext ctx = mock(ChannelHandlerContext.class);
+ when(ctx.channel()).thenReturn(null);
+ RemotingCommand request = getRemotingCommand(RequestCode.DELETE_TOPIC_IN_NAMESRV);
+ RemotingCommand remotingCommand = defaultRequestProcessor.processRequest(ctx, request);
+ assertThat(remotingCommand.getCode()).isEqualTo(ResponseCode.SUCCESS);
+ }
+
+ @Test
+ public void testGetKVListByNamespace() throws RemotingCommandException {
+ ChannelHandlerContext ctx = mock(ChannelHandlerContext.class);
+ when(ctx.channel()).thenReturn(null);
+ RemotingCommand request = getRemotingCommand(RequestCode.GET_KVLIST_BY_NAMESPACE);
+ request.addExtField("namespace", "default-namespace-1");
+ RemotingCommand remotingCommand = defaultRequestProcessor.processRequest(ctx, request);
+ assertThat(remotingCommand.getCode()).isEqualTo(ResponseCode.QUERY_NOT_FOUND);
+ namesrvController.getKvConfigManager().putKVConfig("default-namespace-1", "key", "value");
+ RemotingCommand remotingCommandSuccess = defaultRequestProcessor.processRequest(ctx, request);
+ assertThat(remotingCommandSuccess.getCode()).isEqualTo(ResponseCode.SUCCESS);
+ }
+
+ @Test
+ public void testGetTopicsByCluster() throws RemotingCommandException {
+ ChannelHandlerContext ctx = mock(ChannelHandlerContext.class);
+ when(ctx.channel()).thenReturn(null);
+ RemotingCommand request = getRemotingCommand(RequestCode.GET_TOPICS_BY_CLUSTER);
+ request.addExtField("cluster", "default-cluster");
+ RemotingCommand remotingCommand = defaultRequestProcessor.processRequest(ctx, request);
+ assertThat(remotingCommand.getCode()).isEqualTo(ResponseCode.SUCCESS);
+ }
+
+ @Test
+ public void testGetSystemTopicListFromNs() throws RemotingCommandException {
+ ChannelHandlerContext ctx = mock(ChannelHandlerContext.class);
+ when(ctx.channel()).thenReturn(null);
+ RemotingCommand request = getRemotingCommand(RequestCode.GET_SYSTEM_TOPIC_LIST_FROM_NS);
+ request.addExtField("cluster", "default-cluster");
+ RemotingCommand remotingCommand = defaultRequestProcessor.processRequest(ctx, request);
+ assertThat(remotingCommand.getCode()).isEqualTo(ResponseCode.SUCCESS);
+ }
+
+ @Test
+ public void testGetUnitTopicList() throws RemotingCommandException {
+ ChannelHandlerContext ctx = mock(ChannelHandlerContext.class);
+ when(ctx.channel()).thenReturn(null);
+ RemotingCommand request = getRemotingCommand(RequestCode.GET_UNIT_TOPIC_LIST);
+ request.addExtField("cluster", "default-cluster");
+ RemotingCommand remotingCommand = defaultRequestProcessor.processRequest(ctx, request);
+ assertThat(remotingCommand.getCode()).isEqualTo(ResponseCode.SUCCESS);
+ }
+
+ @Test
+ public void testGetHasUnitSubTopicList() throws RemotingCommandException {
+ ChannelHandlerContext ctx = mock(ChannelHandlerContext.class);
+ when(ctx.channel()).thenReturn(null);
+ RemotingCommand request = getRemotingCommand(RequestCode.GET_HAS_UNIT_SUB_TOPIC_LIST);
+ request.addExtField("cluster", "default-cluster");
+ RemotingCommand remotingCommand = defaultRequestProcessor.processRequest(ctx, request);
+ assertThat(remotingCommand.getCode()).isEqualTo(ResponseCode.SUCCESS);
+ }
+
+ @Test
+ public void testGetHasUnitSubUnUnitTopicList() throws RemotingCommandException {
+ ChannelHandlerContext ctx = mock(ChannelHandlerContext.class);
+ when(ctx.channel()).thenReturn(null);
+ RemotingCommand request = getRemotingCommand(RequestCode.GET_HAS_UNIT_SUB_UNUNIT_TOPIC_LIST);
+ request.addExtField("cluster", "default-cluster");
+ RemotingCommand remotingCommand = defaultRequestProcessor.processRequest(ctx, request);
+ assertThat(remotingCommand.getCode()).isEqualTo(ResponseCode.SUCCESS);
+ }
+
+ @Test
+ public void testUpdateConfig() throws RemotingCommandException {
+ ChannelHandlerContext ctx = mock(ChannelHandlerContext.class);
+ when(ctx.channel()).thenReturn(null);
+ RemotingCommand request = getRemotingCommand(RequestCode.UPDATE_NAMESRV_CONFIG);
+ request.addExtField("cluster", "default-cluster");
+ Map<String, String> propertiesMap = new HashMap<>();
+ propertiesMap.put("key", "value");
+ request.setBody(propertiesMap.toString().getBytes());
+ RemotingCommand remotingCommand = defaultRequestProcessor.processRequest(ctx, request);
+ assertThat(remotingCommand.getCode()).isEqualTo(ResponseCode.SUCCESS);
+ }
+
+ @Test
+ public void testGetConfig() throws RemotingCommandException {
+ ChannelHandlerContext ctx = mock(ChannelHandlerContext.class);
+ when(ctx.channel()).thenReturn(null);
+ RemotingCommand request = getRemotingCommand(RequestCode.GET_NAMESRV_CONFIG);
+ request.addExtField("cluster", "default-cluster");
+ RemotingCommand remotingCommand = defaultRequestProcessor.processRequest(ctx, request);
+ assertThat(remotingCommand.getCode()).isEqualTo(ResponseCode.SUCCESS);
+ }
+
+ private RemotingCommand getRemotingCommand(int code) {
+ RegisterBrokerRequestHeader header = new RegisterBrokerRequestHeader();
+ header.setBrokerName("broker");
+ RemotingCommand request = RemotingCommand.createRequestCommand(code, header);
+ request.addExtField("brokerName", "broker");
+ request.addExtField("brokerAddr", "10.10.1.1");
+ request.addExtField("clusterName", "cluster");
+ request.addExtField("haServerAddr", "10.10.2.1");
+ request.addExtField("brokerId", "2333");
+ request.addExtField("topic", "unit-test");
+ return request;
+ }
+
private static RemotingCommand genSampleRegisterCmd(boolean reg) {
RegisterBrokerRequestHeader header = new RegisterBrokerRequestHeader();
header.setBrokerName("broker");
@@ -268,7 +415,7 @@ public class DefaultRequestProcessorTest {
topicConfigConcurrentHashMap.put("unit-test", topicConfig);
topicConfigSerializeWrapper.setTopicConfigTable(topicConfigConcurrentHashMap);
Channel channel = mock(Channel.class);
- RegisterBrokerResult registerBrokerResult = routeInfoManager.registerBroker("default-cluster", "127.0.0.1:10911", "default-broker", 1234, "127.0.0.1:1001",
+ RegisterBrokerResult registerBrokerResult = routeInfoManager.registerBroker("default-cluster", "127.0.0.1:10911", "default-broker", 0, "127.0.0.1:1001",
topicConfigSerializeWrapper, new ArrayList<String>(), channel);
}