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/02/21 09:08:08 UTC

[rocketmq] branch develop updated: [RIP-10] Add test case for ConsumeStatsList (#814)

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 39406a3  [RIP-10] Add test case for ConsumeStatsList (#814)
39406a3 is described below

commit 39406a31e086a6043b397652a2cf41cff4aa3542
Author: Tongcai Deng <de...@gmail.com>
AuthorDate: Thu Feb 21 17:08:03 2019 +0800

    [RIP-10] Add test case for ConsumeStatsList (#814)
---
 .../common/protocol/body/ConsumeStatsListTest.java | 62 ++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/common/src/test/java/org/apache/rocketmq/common/protocol/body/ConsumeStatsListTest.java b/common/src/test/java/org/apache/rocketmq/common/protocol/body/ConsumeStatsListTest.java
new file mode 100644
index 0000000..088ca05
--- /dev/null
+++ b/common/src/test/java/org/apache/rocketmq/common/protocol/body/ConsumeStatsListTest.java
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.rocketmq.common.protocol.body;
+
+import org.apache.rocketmq.common.admin.ConsumeStats;
+import org.apache.rocketmq.remoting.protocol.RemotingSerializable;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class ConsumeStatsListTest {
+
+    @Test
+    public void testFromJson() {
+        ConsumeStats consumeStats = new ConsumeStats();
+        ArrayList<ConsumeStats> consumeStatsListValue = new ArrayList<ConsumeStats>();
+        consumeStatsListValue.add(consumeStats);
+        HashMap<String, List<ConsumeStats>> map = new HashMap<String, List<ConsumeStats>>();
+        map.put("subscriptionGroupName", consumeStatsListValue);
+        List<Map<String/*subscriptionGroupName*/, List<ConsumeStats>>> consumeStatsListValue2 = new ArrayList<Map<String, List<ConsumeStats>>>();
+        consumeStatsListValue2.add(map);
+
+        String brokerAddr = "brokerAddr";
+        long totalDiff = 12352L;
+        ConsumeStatsList consumeStatsList = new ConsumeStatsList();
+        consumeStatsList.setBrokerAddr(brokerAddr);
+        consumeStatsList.setTotalDiff(totalDiff);
+        consumeStatsList.setConsumeStatsList(consumeStatsListValue2);
+
+        String toJson = RemotingSerializable.toJson(consumeStatsList, true);
+        ConsumeStatsList fromJson = RemotingSerializable.fromJson(toJson, ConsumeStatsList.class);
+
+        assertThat(fromJson.getBrokerAddr()).isEqualTo(brokerAddr);
+        assertThat(fromJson.getTotalDiff()).isEqualTo(totalDiff);
+
+        List<Map<String, List<ConsumeStats>>> fromJsonConsumeStatsList = fromJson.getConsumeStatsList();
+        assertThat(fromJsonConsumeStatsList).isInstanceOf(List.class);
+
+        ConsumeStats fromJsonConsumeStats = fromJsonConsumeStatsList.get(0).get("subscriptionGroupName").get(0);
+        assertThat(fromJsonConsumeStats).isExactlyInstanceOf(ConsumeStats.class);
+    }
+}
\ No newline at end of file