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

aaronai pushed a commit to branch java_dev
in repository https://gitbox.apache.org/repos/asf/rocketmq-clients.git

commit 94acc7b06bbd4d7c03b3218f6a1b2c36b22c04ff
Author: Aaron Ai <[email protected]>
AuthorDate: Wed Aug 3 14:06:20 2022 +0800

    badge
---
 .github/workflows/cpp_coverage.yml                 |  23 +++
 .../workflows/{coverage.yml => java_coverage.yml}  |  16 ++-
 README.md                                          |   4 +-
 cpp/source/base/tests/AssignmentTest.cpp           |   2 +-
 cpp/source/base/tests/BUILD.bazel                  |  56 ++++----
 cpp/source/base/tests/ConfigurationTest.cpp        |  54 -------
 cpp/source/base/tests/MessageBuilderTest.cpp       |   1 +
 cpp/source/base/tests/MessageQueueTest.cpp         |  38 -----
 cpp/source/base/tests/MixAllTest.cpp               |  38 -----
 cpp/source/base/tests/RetryPolicyTest.cpp          |  38 -----
 cpp/source/concurrent/tests/BUILD.bazel            |  26 ----
 cpp/source/concurrent/tests/CountdownLatchTest.cpp |  72 ----------
 cpp/source/rocketmq/tests/BUILD.bazel              |  46 ------
 cpp/source/rocketmq/tests/ClientImplTest.cpp       |  36 -----
 cpp/source/rocketmq/tests/SendContextTest.cpp      |  33 -----
 cpp/source/rocketmq/tests/TimeTest.cpp             |  31 -----
 cpp/source/stats/tests/BUILD.bazel                 |  28 ----
 cpp/source/stats/tests/PublishStatsTest.cpp        | 155 ---------------------
 18 files changed, 65 insertions(+), 632 deletions(-)

diff --git a/.github/workflows/cpp_coverage.yml 
b/.github/workflows/cpp_coverage.yml
new file mode 100644
index 0000000..0edc9e2
--- /dev/null
+++ b/.github/workflows/cpp_coverage.yml
@@ -0,0 +1,23 @@
+name: CPP Coverage
+on:
+  pull_request:
+    types: [opened, reopened, synchronize]
+  push:
+    branches:
+      - java_dev
+# mainly refer to: 
https://github.com/merkrafter/Merkompiler/blob/development/.github/workflows/quality_assurance.yml
+jobs:
+  calculate-coverage:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+      - name: Generate coverage report
+        working-directory: ./cpp
+        run: bazel coverage  //...
+      - name: Upload to Codecov
+        uses: codecov/[email protected]
+        with:
+          file: ./cpp/bazel-out/_coverage/_coverage_report.dat
+          flags: cpp
+          fail_ci_if_error: true
+          verbose: true
diff --git a/.github/workflows/coverage.yml 
b/.github/workflows/java_coverage.yml
similarity index 61%
rename from .github/workflows/coverage.yml
rename to .github/workflows/java_coverage.yml
index 57ca08f..f677dee 100644
--- a/.github/workflows/coverage.yml
+++ b/.github/workflows/java_coverage.yml
@@ -1,25 +1,29 @@
-name: Codecov
+name: Java Coverage
 on:
   pull_request:
     types: [opened, reopened, synchronize]
+    paths:
+      - "java/**"
   push:
     branches:
-      - master
+      - java_dev
+# mainly refer to: 
https://github.com/merkrafter/Merkompiler/blob/development/.github/workflows/quality_assurance.yml
 jobs:
   calculate-coverage:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@master
-      - name: Set up JDK 16
+      - name: Set up JDK 11
         uses: actions/setup-java@v2
         with:
-          java-version: '16'
-          distribution: 'adopt'
+          java-version: "11"
+          distribution: "adopt"
       - name: Generate coverage report
         run: mvn test --file ./java/pom.xml
       - name: Upload to Codecov
         uses: codecov/[email protected]
         with:
           file: ./java/client/target/site/jacoco/jacoco.xml
+          flags: java
           fail_ci_if_error: true
-          verbose: true
\ No newline at end of file
+          verbose: true
diff --git a/README.md b/README.md
index 0914912..058c28e 100644
--- a/README.md
+++ b/README.md
@@ -5,8 +5,8 @@
 
[![C#](https://github.com/apache/rocketmq-clients/actions/workflows/csharp_build.yml/badge.svg)](https://github.com/apache/rocketmq-clients/actions/workflows/csharp_build.yml)
 
[![Java](https://github.com/apache/rocketmq-clients/actions/workflows/java_build.yml/badge.svg)](https://github.com/apache/rocketmq-clients/actions/workflows/java_build.yml)
 
[![Golang](https://github.com/apache/rocketmq-clients/actions/workflows/golang_build.yml/badge.svg)](https://github.com/apache/rocketmq-clients/actions/workflows/golang_build.yml)
-[![codecov](https://codecov.io/gh/apache/rocketmq-clients/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/rocketmq-clients)
-
+[![codecov](https://codecov.io/gh/apache/rocketmq-clients/branch/java_dev/graph/badge.svg?flag=java)](https://codecov.io/gh/apache/rocketmq-clients)
+[![codecov](https://codecov.io/gh/apache/rocketmq-clients/branch/java_dev/graph/badge.svg?flag=cpp)](https://codecov.io/gh/apache/rocketmq-clients)
 ## Overview
 
 Client bindings for [Apache RocketMQ](https://rocketmq.apache.org/), all of 
them follow the specification of 
[rocketmq-apis](https://github.com/apache/rocketmq-apis), replacing 4.x 
remoting-based counterparts. Clients in this repository are built on top of 
[Protocol Buffers](https://developers.google.com/protocol-buffers) and 
[gRPC](https://grpc.io/).
diff --git a/cpp/source/base/tests/AssignmentTest.cpp 
b/cpp/source/base/tests/AssignmentTest.cpp
index 118e12e..dcb3e58 100644
--- a/cpp/source/base/tests/AssignmentTest.cpp
+++ b/cpp/source/base/tests/AssignmentTest.cpp
@@ -17,7 +17,7 @@
  
 #include "gtest/gtest.h"
 #include <algorithm>
-
+#include "rocketmq/RocketMQ.h"
 #include "Protocol.h"
 
 ROCKETMQ_NAMESPACE_BEGIN
diff --git a/cpp/source/base/tests/BUILD.bazel 
b/cpp/source/base/tests/BUILD.bazel
index 4037b9d..9717d61 100644
--- a/cpp/source/base/tests/BUILD.bazel
+++ b/cpp/source/base/tests/BUILD.bazel
@@ -21,34 +21,34 @@ cc_test(
     deps = base_deps,
 )
 
-cc_test(
-    name = "message_queue_test",
-    srcs = [
-        "MessageQueueTest.cpp",
-    ],
-    deps = base_deps,
-)
+# cc_test(
+#     name = "message_queue_test",
+#     srcs = [
+#         "MessageQueueTest.cpp",
+#     ],
+#     deps = base_deps,
+# )
 
-cc_test(
-    name = "configuration_test",
-    srcs = [
-        "ConfigurationTest.cpp",
-    ],
-    deps = base_deps,
-)
+# cc_test(
+#     name = "configuration_test",
+#     srcs = [
+#         "ConfigurationTest.cpp",
+#     ],
+#     deps = base_deps,
+# )
 
-cc_test(
-    name = "mix_all_test",
-    srcs = [
-        "MixAllTest.cpp",
-    ],
-    deps = base_deps,
-)
+# cc_test(
+#     name = "mix_all_test",
+#     srcs = [
+#         "MixAllTest.cpp",
+#     ],
+#     deps = base_deps,
+# )
 
-cc_test(
-    name = "retry_policy_test",
-    srcs = [
-        "RetryPolicyTest.cpp",
-    ],
-    deps = base_deps,
-)
\ No newline at end of file
+# cc_test(
+#     name = "retry_policy_test",
+#     srcs = [
+#         "RetryPolicyTest.cpp",
+#     ],
+#     deps = base_deps,
+# )
\ No newline at end of file
diff --git a/cpp/source/base/tests/ConfigurationTest.cpp 
b/cpp/source/base/tests/ConfigurationTest.cpp
deleted file mode 100644
index 9174e39..0000000
--- a/cpp/source/base/tests/ConfigurationTest.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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.
- */
-
-#include <chrono>
-#include <memory>
-
-#include "gtest/gtest.h"
-#include "rocketmq/Configuration.h"
-
-ROCKETMQ_NAMESPACE_BEGIN
-
-class ConfigurationTest : public testing::Test {
-public:
-protected:
-  std::string               endpoints_{"8.8.8.8:80;8.8.4.4:80"};
-  std::chrono::milliseconds request_timeout_{std::chrono::seconds(1)};
-};
-
-TEST_F(ConfigurationTest, testEndpoints) {
-  auto configuration = 
Configuration::newBuilder().withEndpoints(endpoints_).build();
-  ASSERT_EQ(endpoints_, configuration.endpoints());
-}
-
-TEST_F(ConfigurationTest, testCredentialsProvider) {
-  std::string access_key           = "ak";
-  std::string access_secret        = "as";
-  auto        credentials_provider = 
std::make_shared<StaticCredentialsProvider>(access_key, access_secret);
-  auto        configuration        = 
Configuration::newBuilder().withCredentialsProvider(credentials_provider).build();
-  auto        credentials          = 
configuration.credentialsProvider()->getCredentials();
-
-  ASSERT_EQ(access_key, credentials.accessKey());
-  ASSERT_EQ(access_secret, credentials.accessSecret());
-}
-
-TEST_F(ConfigurationTest, testRequestTimeout) {
-  auto configuration = 
Configuration::newBuilder().withRequestTimeout(request_timeout_).build();
-  ASSERT_EQ(request_timeout_, configuration.requestTimeout());
-}
-
-ROCKETMQ_NAMESPACE_END
\ No newline at end of file
diff --git a/cpp/source/base/tests/MessageBuilderTest.cpp 
b/cpp/source/base/tests/MessageBuilderTest.cpp
index 9ad4d58..f21bbcb 100644
--- a/cpp/source/base/tests/MessageBuilderTest.cpp
+++ b/cpp/source/base/tests/MessageBuilderTest.cpp
@@ -19,6 +19,7 @@
 #include "MessageExt.h"
 #include "gtest/gtest.h"
 #include "rocketmq/Message.h"
+#include "rocketmq/RocketMQ.h"
 
 ROCKETMQ_NAMESPACE_BEGIN
 
diff --git a/cpp/source/base/tests/MessageQueueTest.cpp 
b/cpp/source/base/tests/MessageQueueTest.cpp
deleted file mode 100644
index 805934e..0000000
--- a/cpp/source/base/tests/MessageQueueTest.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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.
- */
- 
-#include <apache/rocketmq/v2/definition.pb.h>
-#include <cstdint>
-
-#include "absl/container/flat_hash_map.h"
-#include "google/protobuf/map.h"
-#include "gtest/gtest.h"
-
-#include "Protocol.h"
-
-ROCKETMQ_NAMESPACE_BEGIN
-
-class MessageQueueTest : public testing::Test {
-public:
-  void SetUp() override {
-  }
-
-  void TearDown() override {
-  }
-};
-
-ROCKETMQ_NAMESPACE_END
diff --git a/cpp/source/base/tests/MixAllTest.cpp 
b/cpp/source/base/tests/MixAllTest.cpp
deleted file mode 100644
index 53b019a..0000000
--- a/cpp/source/base/tests/MixAllTest.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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.
- */
-#include <system_error>
-
-#include "MixAll.h"
-#include "absl/strings/str_split.h"
-#include "gtest/gtest.h"
-
-ROCKETMQ_NAMESPACE_BEGIN
-
-TEST(MixAllTest, testOsName) {
-  const char* os_name = MixAll::osName();
-  std::cout << os_name << std::endl;
-}
-
-TEST(MixAllTest, testValidate) {
-  auto message = Message::newBuilder().withTopic("").build();
-  std::error_code ec;
-  MixAll::validate(*message, ec);
-  ASSERT_EQ(true, (bool)ec);
-  ASSERT_TRUE(absl::StrContains(ec.message(), "illegal"));
-}
-
-ROCKETMQ_NAMESPACE_END
\ No newline at end of file
diff --git a/cpp/source/base/tests/RetryPolicyTest.cpp 
b/cpp/source/base/tests/RetryPolicyTest.cpp
deleted file mode 100644
index 1e3c7bf..0000000
--- a/cpp/source/base/tests/RetryPolicyTest.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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.
- */
-#include "RetryPolicy.h"
-#include "gtest/gtest.h"
-
-ROCKETMQ_NAMESPACE_BEGIN
-
-TEST(RetryPolicyTest, testBackoff) {
-  RetryPolicy policy;
-  policy.max_attempt = 3;
-  policy.strategy = BackoffStrategy::Customized;
-  policy.initial = absl::Milliseconds(0);
-  policy.max = absl::Milliseconds(0);
-  policy.multiplier = 0.0f;
-  policy.next = {absl::Milliseconds(10), absl::Milliseconds(100), 
absl::Milliseconds(500)};
-
-  ASSERT_EQ(policy.backoff(1), 10);
-  ASSERT_EQ(policy.backoff(2), 100);
-  ASSERT_EQ(policy.backoff(3), 500);
-  ASSERT_EQ(policy.backoff(4), 500);
-  ASSERT_EQ(policy.backoff(10000), 500);
-}
-
-ROCKETMQ_NAMESPACE_END
\ No newline at end of file
diff --git a/cpp/source/concurrent/tests/BUILD.bazel 
b/cpp/source/concurrent/tests/BUILD.bazel
deleted file mode 100644
index c464ca4..0000000
--- a/cpp/source/concurrent/tests/BUILD.bazel
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# 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.
-#
-cc_test(
-    name = "countdown_latch_test",
-    deps = [
-        "//source/concurrent:countdown_latch_library",
-        "@com_google_googletest//:gtest_main",
-    ],
-    srcs = [
-        "CountdownLatchTest.cpp"
-    ],
-)
\ No newline at end of file
diff --git a/cpp/source/concurrent/tests/CountdownLatchTest.cpp 
b/cpp/source/concurrent/tests/CountdownLatchTest.cpp
deleted file mode 100644
index e0d0c4f..0000000
--- a/cpp/source/concurrent/tests/CountdownLatchTest.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * 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.
- */
-#include <chrono>
-#include <cstddef>
-#include <mutex>
-#include <thread>
-
-#include "CountdownLatch.h"
-#include "gtest/gtest.h"
-#include "rocketmq/RocketMQ.h"
-
-ROCKETMQ_NAMESPACE_BEGIN
-
-class CountdownLatchTest : public testing::Test {
-public:
-  void SetUp() override {
-    countdown_latch_ = absl::make_unique<CountdownLatch>(permit_);
-  }
-
-  void TearDown() override {
-  }
-
-protected:
-  const std::size_t permit_{2};
-  std::unique_ptr<CountdownLatch> countdown_latch_;
-  absl::Mutex mtx_;
-};
-
-TEST_F(CountdownLatchTest, testAwait) {
-  int count = 0;
-
-  auto lambda = [&]() {
-    std::this_thread::sleep_for(std::chrono::milliseconds(100));
-    {
-      absl::MutexLock lk(&mtx_);
-      count++;
-    }
-    countdown_latch_->countdown();
-  };
-
-  std::vector<std::thread> threads;
-  for (std::size_t i = 0; i < permit_; i++) {
-    auto t = std::thread(lambda);
-    threads.push_back(std::move(t));
-  }
-
-  countdown_latch_->await();
-
-  ASSERT_EQ(count, permit_);
-
-  for (auto& thread : threads) {
-    if (thread.joinable()) {
-      thread.join();
-    }
-  }
-}
-
-ROCKETMQ_NAMESPACE_END
\ No newline at end of file
diff --git a/cpp/source/rocketmq/tests/BUILD.bazel 
b/cpp/source/rocketmq/tests/BUILD.bazel
deleted file mode 100644
index 25303d7..0000000
--- a/cpp/source/rocketmq/tests/BUILD.bazel
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# 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.
-#
-load("@rules_cc//cc:defs.bzl", "cc_test")
-
-base_deps = [
-    "//source/rocketmq:rocketmq_library",
-    "@com_google_googletest//:gtest_main",
-]
-
-cc_test(
-    name = "time_test",
-    srcs = [
-        "TimeTest.cpp",
-    ],
-    deps = base_deps,
-)
-
-cc_test(
-    name = "send_context_test",
-    srcs = [
-        "SendContextTest.cpp",
-    ],
-    deps = base_deps,
-)
-
-cc_test(
-    name = "client_impl_test",
-    srcs = [
-        "ClientImplTest.cpp",
-    ],
-    deps = base_deps,
-)
\ No newline at end of file
diff --git a/cpp/source/rocketmq/tests/ClientImplTest.cpp 
b/cpp/source/rocketmq/tests/ClientImplTest.cpp
deleted file mode 100644
index 3975e6b..0000000
--- a/cpp/source/rocketmq/tests/ClientImplTest.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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.
- */
-#include <cstddef>
-#include <unordered_set>
-
-#include "ClientImpl.h"
-#include "gtest/gtest.h"
-#include "rocketmq/RocketMQ.h"
-
-ROCKETMQ_NAMESPACE_BEGIN
-
-TEST(ClientImplTest, testClientId) {
-  std::unordered_set<std::string> client_ids;
-  for (std::size_t i = 0; i < 128; i++) {
-    auto&& client_id = clientId();
-    std::cout << client_id << std::endl;
-    ASSERT_EQ(client_ids.find(client_id), client_ids.end());
-    client_ids.insert(std::move(client_id));
-  }
-}
-
-ROCKETMQ_NAMESPACE_END
\ No newline at end of file
diff --git a/cpp/source/rocketmq/tests/SendContextTest.cpp 
b/cpp/source/rocketmq/tests/SendContextTest.cpp
deleted file mode 100644
index e03c8b7..0000000
--- a/cpp/source/rocketmq/tests/SendContextTest.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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.
- */
-#include <memory>
-
-#include "SendContext.h"
-#include "gtest/gtest.h"
-
-ROCKETMQ_NAMESPACE_BEGIN
-
-TEST(SendContextTest, testBasics) {
-  auto message = 
Message::newBuilder().withBody("body").withTopic("topic").withGroup("group0").withTag("TagA").build();
-  auto callback = [](const std::error_code&, const SendReceipt&) {};
-  std::weak_ptr<ProducerImpl> producer;
-  std::vector<rmq::MessageQueue> message_queues;
-  auto send_context = std::make_shared<SendContext>(producer, 
std::move(message), callback, message_queues);
-  send_context.reset();
-}
-
-ROCKETMQ_NAMESPACE_END
\ No newline at end of file
diff --git a/cpp/source/rocketmq/tests/TimeTest.cpp 
b/cpp/source/rocketmq/tests/TimeTest.cpp
deleted file mode 100644
index 898aef0..0000000
--- a/cpp/source/rocketmq/tests/TimeTest.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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.
- */
-
-#include "absl/time/time.h"
-#include "gtest/gtest.h"
-#include "rocketmq/RocketMQ.h"
-
-ROCKETMQ_NAMESPACE_BEGIN
-
-TEST(TimeTest, testTimeHelpers) {
-  auto duration = absl::Seconds(1) + absl::Nanoseconds(100);
-  auto seconds  = absl::ToInt64Seconds(duration);
-  ASSERT_EQ(1, seconds);
-  ASSERT_EQ(100, absl::ToInt64Nanoseconds(duration - absl::Seconds(seconds)));
-}
-
-ROCKETMQ_NAMESPACE_END
\ No newline at end of file
diff --git a/cpp/source/stats/tests/BUILD.bazel 
b/cpp/source/stats/tests/BUILD.bazel
deleted file mode 100644
index 10005d0..0000000
--- a/cpp/source/stats/tests/BUILD.bazel
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# 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.
-#
-load("@rules_cc//cc:defs.bzl", "cc_test")
-
-cc_test(
-    name = "publish_stats_test",
-    srcs = [
-        "PublishStatsTest.cpp",
-    ],
-    deps = [
-        "//source/stats",
-        "@com_google_googletest//:gtest_main",
-    ],
-)
\ No newline at end of file
diff --git a/cpp/source/stats/tests/PublishStatsTest.cpp 
b/cpp/source/stats/tests/PublishStatsTest.cpp
deleted file mode 100644
index 7c4d997..0000000
--- a/cpp/source/stats/tests/PublishStatsTest.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * 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.
- */
-
-#include <chrono>
-#include <iostream>
-#include <mutex>
-#include <thread>
-
-#include "PublishStats.h"
-#include "gtest/gtest.h"
-
-ROCKETMQ_NAMESPACE_BEGIN
-
-class Handler : public opencensus::stats::StatsExporter::Handler {
-public:
-  void ExportViewData(
-      const std::vector<std::pair<opencensus::stats::ViewDescriptor, 
opencensus::stats::ViewData>>& data) override {
-    std::cout << 
"================================================================================"
 << std::endl;
-    for (const auto& datum : data) {
-      const auto& view_data = datum.second;
-      const auto& descriptor = datum.first;
-      auto start_times = view_data.start_times();
-      auto columns = descriptor.columns();
-
-      switch (view_data.type()) {
-        case opencensus::stats::ViewData::Type::kInt64: {
-          auto data_map = view_data.int_data();
-          for (const auto& entry : data_map) {
-            absl::Time time = start_times[entry.first];
-            std::string line;
-            line.append(absl::FormatTime(time)).append(" ");
-            line.append(descriptor.name());
-            line.append("{");
-            for (std::size_t i = 0; i < columns.size(); i++) {
-              
line.append(columns[i].name()).append("=").append(entry.first[i]);
-              if (i < columns.size() - 1) {
-                line.append(", ");
-              } else {
-                line.append("} ==> ");
-              }
-            }
-            line.append(std::to_string(entry.second));
-            println(line);
-          }
-          break;
-        }
-        case opencensus::stats::ViewData::Type::kDouble: {
-          exportDatum(datum.first, view_data.start_time(), 
view_data.end_time(), view_data.double_data());
-          break;
-        }
-        case opencensus::stats::ViewData::Type::kDistribution: {
-          for (const auto& entry : view_data.distribution_data()) {
-            std::string line(descriptor.name());
-            line.append("{");
-            for (std::size_t i = 0; i < columns.size(); i++) {
-              
line.append(columns[i].name()).append("=").append(entry.first[i]);
-              if (i < columns.size() - 1) {
-                line.append(", ");
-              } else {
-                line.append("} ==> ");
-              }
-            }
-            line.append(entry.second.DebugString());
-            println(line);
-
-            
println(absl::StrJoin(entry.second.bucket_boundaries().lower_boundaries(), 
","));
-          }
-          break;
-        }
-      }
-    }
-  }
-
-  template <typename T>
-  void exportDatum(const opencensus::stats::ViewDescriptor& descriptor,
-                   absl::Time start_time,
-                   absl::Time end_time,
-                   const opencensus::stats::ViewData::DataMap<T>& data) {
-    if (data.empty()) {
-      // std::cout << "No data for " << descriptor.name() << std::endl;
-      return;
-    }
-
-    for (const auto& row : data) {
-      for (std::size_t column = 0; column < descriptor.columns().size(); 
column++) {
-        std::cout << descriptor.name() << "[" << 
descriptor.columns()[column].name() << "=" << row.first[column] << "]"
-                  << DataToString(row.second) << std::endl;
-      }
-    }
-  }
-
-  std::mutex console_mtx;
-  void println(const std::string& line) {
-    std::lock_guard<std::mutex> lk(console_mtx);
-    std::cout << line << std::endl;
-  }
-
-  // Functions to format data for different aggregation types.
-  std::string DataToString(double data) {
-    return absl::StrCat(": ", data, "\n");
-  }
-  std::string DataToString(int64_t data) {
-    return absl::StrCat(": ", data, "\n");
-  }
-  std::string DataToString(const opencensus::stats::Distribution& data) {
-    std::string output = "\n";
-    std::vector<std::string> lines = absl::StrSplit(data.DebugString(), '\n');
-    // Add indent.
-    for (const auto& line : lines) {
-      absl::StrAppend(&output, "    ", line, "\n");
-    }
-    return output;
-  }
-};
-
-TEST(StatsTest, testBasics) {
-  std::string t1("T1");
-  std::string t2("T2");
-  PublishStats metrics;
-  opencensus::stats::StatsExporter::SetInterval(absl::Seconds(5));
-  
opencensus::stats::StatsExporter::RegisterPushHandler(absl::make_unique<Handler>());
-  std::atomic_bool stopped{false};
-  auto generator = [&]() {
-    while (!stopped) {
-      for (std::size_t i = 0; i < 10; i++) {
-        opencensus::stats::Record({{metrics.latency(), i * 10}},
-                                  {{Tag::topicTag(), t1}, {Tag::clientIdTag(), 
"client-0"}});
-      }
-      std::this_thread::sleep_for(std::chrono::seconds(1));
-    }
-  };
-  std::thread feeder(generator);
-
-  std::this_thread::sleep_for(std::chrono::seconds(10));
-  stopped.store(true);
-  if (feeder.joinable()) {
-    feeder.join();
-  }
-}
-
-ROCKETMQ_NAMESPACE_END

Reply via email to