You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by st...@apache.org on 2017/01/23 03:13:06 UTC
incubator-rocketmq git commit: [ROCKETMQ-54] Polish unit test for
DefaultRequestProcessor
Repository: incubator-rocketmq
Updated Branches:
refs/heads/ROCKETMQ-54 e403ca397 -> 0a3299a8d
[ROCKETMQ-54] Polish unit test for DefaultRequestProcessor
Project: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/commit/0a3299a8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/tree/0a3299a8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/diff/0a3299a8
Branch: refs/heads/ROCKETMQ-54
Commit: 0a3299a8d6145f8726a4b25493f0b9a0d418a87a
Parents: e403ca3
Author: stevenschew <st...@apache.org>
Authored: Mon Jan 23 11:12:49 2017 +0800
Committer: stevenschew <st...@apache.org>
Committed: Mon Jan 23 11:12:49 2017 +0800
----------------------------------------------------------------------
.../processor/DefaultRequestProcessorTest.java | 34 +++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/0a3299a8/namesrv/src/test/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessorTest.java
----------------------------------------------------------------------
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 4ee944d..97aa9ac 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
@@ -16,14 +16,20 @@
*/
package org.apache.rocketmq.namesrv.processor;
+import io.netty.channel.Channel;
import io.netty.channel.ChannelHandlerContext;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import org.apache.rocketmq.common.TopicConfig;
import org.apache.rocketmq.common.namesrv.NamesrvConfig;
+import org.apache.rocketmq.common.namesrv.RegisterBrokerResult;
import org.apache.rocketmq.common.protocol.RequestCode;
import org.apache.rocketmq.common.protocol.ResponseCode;
+import org.apache.rocketmq.common.protocol.body.TopicConfigSerializeWrapper;
import org.apache.rocketmq.common.protocol.header.namesrv.DeleteKVConfigRequestHeader;
import org.apache.rocketmq.common.protocol.header.namesrv.GetKVConfigRequestHeader;
import org.apache.rocketmq.common.protocol.header.namesrv.GetKVConfigResponseHeader;
@@ -53,16 +59,25 @@ public class DefaultRequestProcessorTest {
private NettyServerConfig nettyServerConfig;
+ private RouteInfoManager routeInfoManager;
+
private Logger logger;
@Before
public void init() throws Exception {
namesrvConfig = new NamesrvConfig();
nettyServerConfig = new NettyServerConfig();
+ routeInfoManager = new RouteInfoManager();
namesrvController = new NamesrvController(namesrvConfig, nettyServerConfig);
+
+ Field field = NamesrvController.class.getDeclaredField("routeInfoManager");
+ field.setAccessible(true);
+ field.set(namesrvController, routeInfoManager);
defaultRequestProcessor = new DefaultRequestProcessor(namesrvController);
+ registerRouteInfoManager();
+
logger = mock(Logger.class);
when(logger.isInfoEnabled()).thenReturn(false);
setFinalStatic(DefaultRequestProcessor.class.getDeclaredField("log"), logger);
@@ -218,7 +233,7 @@ public class DefaultRequestProcessorTest {
Field brokerAddrTable = RouteInfoManager.class.getDeclaredField("brokerAddrTable");
brokerAddrTable.setAccessible(true);
- assertThat((Map) brokerAddrTable.get(routes)).isEmpty();
+ assertThat((Map) brokerAddrTable.get(routes)).isNotEmpty();
}
private static RemotingCommand genSampleRegisterCmd(boolean reg) {
@@ -241,4 +256,21 @@ public class DefaultRequestProcessorTest {
modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
field.set(null, newValue);
}
+
+ private void registerRouteInfoManager() {
+ TopicConfigSerializeWrapper topicConfigSerializeWrapper = new TopicConfigSerializeWrapper();
+ ConcurrentHashMap<String, TopicConfig> topicConfigConcurrentHashMap = new ConcurrentHashMap<>();
+ TopicConfig topicConfig = new TopicConfig();
+ topicConfig.setWriteQueueNums(8);
+ topicConfig.setTopicName("unit-test");
+ topicConfig.setPerm(6);
+ topicConfig.setReadQueueNums(8);
+ topicConfig.setOrder(false);
+ 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",
+ topicConfigSerializeWrapper, new ArrayList<String>(), channel);
+
+ }
}
\ No newline at end of file