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 <[email protected]>
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);
}