You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by di...@apache.org on 2019/05/14 08:53:11 UTC

[rocketmq] branch develop updated: [RIP-10] modify test case of BrokerConsumeStatusSubCommand (#983)

This is an automated email from the ASF dual-hosted git repository.

dinglei 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 8c59640  [RIP-10] modify test case of BrokerConsumeStatusSubCommand (#983)
8c59640 is described below

commit 8c59640d6e5660cd80c0083d476dcd0f56a847cc
Author: hdchen <14...@qq.com>
AuthorDate: Tue May 14 16:53:06 2019 +0800

    [RIP-10] modify test case of BrokerConsumeStatusSubCommand (#983)
---
 .../broker/BrokerConsumeStatsSubCommad.java        | 23 +++++++++++++++++++---
 .../broker/BrokerConsumeStatsSubCommadTest.java    | 12 ++++++++---
 2 files changed, 29 insertions(+), 6 deletions(-)

diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerConsumeStatsSubCommad.java b/tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerConsumeStatsSubCommad.java
index aee2f6b..0dee6de 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerConsumeStatsSubCommad.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerConsumeStatsSubCommad.java
@@ -36,6 +36,24 @@ import org.apache.rocketmq.tools.command.SubCommandException;
 
 public class BrokerConsumeStatsSubCommad implements SubCommand {
 
+    private DefaultMQAdminExt defaultMQAdminExt;
+
+    private DefaultMQAdminExt createMQAdminExt(RPCHook rpcHook) throws SubCommandException {
+        if (this.defaultMQAdminExt != null) {
+            return defaultMQAdminExt;
+        } else {
+            defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
+            defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
+            try {
+                defaultMQAdminExt.start();
+            }
+            catch (Exception e) {
+                throw new SubCommandException(this.getClass().getSimpleName() + " command failed", e);
+            }
+            return defaultMQAdminExt;
+        }
+    }
+
     @Override
     public String commandName() {
         return "brokerConsumeStats";
@@ -69,10 +87,9 @@ public class BrokerConsumeStatsSubCommad implements SubCommand {
 
     @Override
     public void execute(CommandLine commandLine, Options options, RPCHook rpcHook) throws SubCommandException {
-        DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt(rpcHook);
-        defaultMQAdminExt.setInstanceName(Long.toString(System.currentTimeMillis()));
         try {
-            defaultMQAdminExt.start();
+            defaultMQAdminExt =  createMQAdminExt(rpcHook);
+
             String brokerAddr = commandLine.getOptionValue('b').trim();
             boolean isOrder = false;
             long timeoutMillis = 50000;
diff --git a/tools/src/test/java/org/apache/rocketmq/tools/command/broker/BrokerConsumeStatsSubCommadTest.java b/tools/src/test/java/org/apache/rocketmq/tools/command/broker/BrokerConsumeStatsSubCommadTest.java
index 48e6515..1089c1b 100644
--- a/tools/src/test/java/org/apache/rocketmq/tools/command/broker/BrokerConsumeStatsSubCommadTest.java
+++ b/tools/src/test/java/org/apache/rocketmq/tools/command/broker/BrokerConsumeStatsSubCommadTest.java
@@ -49,6 +49,9 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 public class BrokerConsumeStatsSubCommadTest {
+
+    private static BrokerConsumeStatsSubCommad cmd = new BrokerConsumeStatsSubCommad();
+
     private static DefaultMQAdminExt defaultMQAdminExt;
     private static DefaultMQAdminExtImpl defaultMQAdminExtImpl;
     private static MQClientInstance mqClientInstance = MQClientManager.getInstance().getAndCreateMQClientInstance(new ClientConfig());
@@ -81,10 +84,13 @@ public class BrokerConsumeStatsSubCommadTest {
     public static void terminate() {
     }
 
-    @Ignore
     @Test
-    public void testExecute() throws SubCommandException {
-        BrokerConsumeStatsSubCommad cmd = new BrokerConsumeStatsSubCommad();
+    public void testExecute() throws SubCommandException, IllegalAccessException, NoSuchFieldException {
+
+        Field field = BrokerConsumeStatsSubCommad.class.getDeclaredField("defaultMQAdminExt");
+        field.setAccessible(true);
+        field.set(cmd, defaultMQAdminExt);
+
         Options options = ServerUtil.buildCommandlineOptions(new Options());
         String[] subargs = new String[] {"-b 127.0.0.1:10911", "-t 3000", "-l 5", "-o true"};
         final CommandLine commandLine =