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 <[email protected]>
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 =

Reply via email to