You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shenyu.apache.org by GitBox <gi...@apache.org> on 2021/07/04 07:07:18 UTC

[GitHub] [incubator-shenyu] renzhuyan opened a new pull request #1710: [ISSUE #1709] Add test case for shenyu-admin module

renzhuyan opened a new pull request #1710:
URL: https://github.com/apache/incubator-shenyu/pull/1710


   // Describe your PR here; eg. Fixes #1709 
   
   <!--
   Thank you for proposing a pull request. This template will guide you through the essential steps necessary for a pull request.
   -->
   Make sure that:
   
   - [ ] You have read the [contribution guidelines](https://shenyu.apache.org/community/contributor/).
   - [ ] You submit test cases (unit or integration tests) that back your changes.
   - [ ] Your local test passed `mvn clean install -Dmaven.javadoc.skip=true`.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shenyu.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-shenyu] dengliming merged pull request #1710: [ISSUE #1709] Add test case for shenyu-admin module

Posted by GitBox <gi...@apache.org>.
dengliming merged pull request #1710:
URL: https://github.com/apache/incubator-shenyu/pull/1710


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shenyu.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-shenyu] renzhuyan commented on pull request #1710: [ISSUE #1709] Add test case for shenyu-admin module

Posted by GitBox <gi...@apache.org>.
renzhuyan commented on pull request #1710:
URL: https://github.com/apache/incubator-shenyu/pull/1710#issuecomment-873602656


   > Thanks for your contribution. I left some suggestions. Would you mind to take a look? : )
   
   Thank you for your suggestions. Please look again.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shenyu.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-shenyu] codecov-commenter edited a comment on pull request #1710: [ISSUE #1709] Add test case for shenyu-admin module

Posted by GitBox <gi...@apache.org>.
codecov-commenter edited a comment on pull request #1710:
URL: https://github.com/apache/incubator-shenyu/pull/1710#issuecomment-873536465


   # [Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#1710](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (17ba47f) into [master](https://codecov.io/gh/apache/incubator-shenyu/commit/cdb06b94ad53d4f5e48eb17e72b195b19d099c94?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (cdb06b9) will **increase** coverage by `2.10%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/graphs/tree.svg?width=650&height=150&src=pr&token=k89XYIkOHK&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #1710      +/-   ##
   ============================================
   + Coverage     60.62%   62.73%   +2.10%     
   - Complexity     2272     2348      +76     
   ============================================
     Files           478      478              
     Lines         10109    10108       -1     
     Branches       1028     1028              
   ============================================
   + Hits           6129     6341     +212     
   + Misses         3476     3258     -218     
   - Partials        504      509       +5     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [...enyu/client/tars/TarsServiceBeanPostProcessor.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWNsaWVudC9zaGVueXUtY2xpZW50LXRhcnMvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoZW55dS9jbGllbnQvdGFycy9UYXJzU2VydmljZUJlYW5Qb3N0UHJvY2Vzc29yLmphdmE=) | `35.13% <0.00%> (-22.98%)` | :arrow_down: |
   | [...henyu/plugin/grpc/resolver/ShenyuNameResolver.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWdycGMvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoZW55dS9wbHVnaW4vZ3JwYy9yZXNvbHZlci9TaGVueXVOYW1lUmVzb2x2ZXIuamF2YQ==) | `45.26% <0.00%> (-17.90%)` | :arrow_down: |
   | [...che/shenyu/sync/data/http/HttpSyncDataService.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXN5bmMtZGF0YS1jZW50ZXIvc2hlbnl1LXN5bmMtZGF0YS1odHRwL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvc3luYy9kYXRhL2h0dHAvSHR0cFN5bmNEYXRhU2VydmljZS5qYXZh) | `69.90% <0.00%> (-11.66%)` | :arrow_down: |
   | [...apache/shenyu/common/utils/UpstreamCheckUtils.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWNvbW1vbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvc2hlbnl1L2NvbW1vbi91dGlscy9VcHN0cmVhbUNoZWNrVXRpbHMuamF2YQ==) | `88.88% <0.00%> (-5.56%)` | :arrow_down: |
   | [...plugin/divide/balance/spi/AbstractLoadBalance.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWRpdmlkZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvc2hlbnl1L3BsdWdpbi9kaXZpZGUvYmFsYW5jZS9zcGkvQWJzdHJhY3RMb2FkQmFsYW5jZS5qYXZh) | `36.84% <0.00%> (-3.16%)` | :arrow_down: |
   | [...henyu/plugin/httpclient/NettyHttpClientPlugin.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWh0dHBjbGllbnQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoZW55dS9wbHVnaW4vaHR0cGNsaWVudC9OZXR0eUh0dHBDbGllbnRQbHVnaW4uamF2YQ==) | `57.14% <0.00%> (-2.05%)` | :arrow_down: |
   | [...elimiter/handler/RateLimiterPluginDataHandler.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLXJhdGVsaW1pdGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvcGx1Z2luL3JhdGVsaW1pdGVyL2hhbmRsZXIvUmF0ZUxpbWl0ZXJQbHVnaW5EYXRhSGFuZGxlci5qYXZh) | `69.23% <0.00%> (-1.54%)` | :arrow_down: |
   | [.../apache/shenyu/admin/listener/etcd/EtcdClient.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvZXRjZC9FdGNkQ2xpZW50LmphdmE=) | `72.72% <0.00%> (+72.72%)` | :arrow_up: |
   | [...pache/shenyu/admin/listener/etcd/EtcdDataInit.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvZXRjZC9FdGNkRGF0YUluaXQuamF2YQ==) | `91.66% <0.00%> (+91.66%)` | :arrow_up: |
   | [...admin/listener/nacos/NacosDataChangedListener.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvbmFjb3MvTmFjb3NEYXRhQ2hhbmdlZExpc3RlbmVyLmphdmE=) | `96.66% <0.00%> (+92.77%)` | :arrow_up: |
   | ... and [2 more](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [cdb06b9...17ba47f](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shenyu.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-shenyu] dengliming commented on a change in pull request #1710: [ISSUE #1709] Add test case for shenyu-admin module

Posted by GitBox <gi...@apache.org>.
dengliming commented on a change in pull request #1710:
URL: https://github.com/apache/incubator-shenyu/pull/1710#discussion_r663492143



##########
File path: shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/etcd/EtcdDataDataChangedListenerTest.java
##########
@@ -0,0 +1,128 @@
+/*
+ * 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.shenyu.admin.listener.etcd;
+
+import com.google.common.collect.ImmutableList;
+import lombok.SneakyThrows;
+import org.apache.shenyu.common.dto.AppAuthData;
+import org.apache.shenyu.common.dto.MetaData;
+import org.apache.shenyu.common.dto.PluginData;
+import org.apache.shenyu.common.dto.SelectorData;
+import org.apache.shenyu.common.dto.RuleData;
+import org.apache.shenyu.common.enums.DataEventTypeEnum;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+/**
+ * The testCase for {@link EtcdDataDataChangedListener}.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class EtcdDataDataChangedListenerTest {
+
+    private static final String MOCK_APP_KEY = "MOCK_APP_KEY";
+
+    private static final String MOCK_APP_SECRET = "MOCK_APP_SECRET";
+
+    private static final String MOCK_ID = "MOCK_ID";
+
+    private static final String MOCK_PATH = "MOCK_PATH";
+
+    private static final String MOCK_APP_NAME = "MOCK_APP_NAME";
+
+    private static final String MOCK_NAME = "MOCK_NAME";
+
+    private static final String MOCK_CONFIG = "MOCK_CONFIG";
+
+    private static final String MOCK_PLUGIN_NAME = "MOCK_PLUGIN_NAME";
+
+    private static final String MOCK_SELECTOR_ID = "MOCK_SELECTOR_ID";
+
+    @InjectMocks
+    private EtcdDataDataChangedListener etcdDataDataChangedListener;
+
+    @Mock
+    private EtcdClient etcdClient;
+
+    /**
+     * test case onAppAuthChanged event.
+     */
+    @Test
+    public void testOnAppAuthChanged() {
+        AppAuthData appAuthData = AppAuthData.builder().appKey(MOCK_APP_KEY).appSecret(MOCK_APP_SECRET).build();
+        etcdDataDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.CREATE);
+        etcdDataDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.UPDATE);
+        etcdDataDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.DELETE);

Review comment:
       ```
   verify(etcdClient, times(2)).put(any(String.class), any(String.class));
   verify(etcdClient, times(1)).delete(any(String.class));
   ```

##########
File path: shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/etcd/EtcdClientTest.java
##########
@@ -0,0 +1,84 @@
+/*
+ * 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.shenyu.admin.listener.etcd;
+
+import io.etcd.jetcd.ByteSequence;
+import io.etcd.jetcd.Client;
+import io.etcd.jetcd.KV;
+import io.etcd.jetcd.kv.DeleteResponse;
+import io.etcd.jetcd.kv.PutResponse;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import java.nio.charset.StandardCharsets;
+import java.util.concurrent.CompletableFuture;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+/**
+ * The testCase for {@link EtcdClient}.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class EtcdClientTest {
+
+    private static final String TEST_KEY = "KEY";
+
+    private static final String TEST_VALUE = "VALUE";
+
+    @Mock
+    private Client client;
+
+    private EtcdClient etcdClient;
+
+    @Before
+    public void setUp() {
+        KV kvClient = mock(KV.class);
+        when(client.getKVClient()).thenReturn(kvClient);
+        etcdClient = new EtcdClient(client);
+        Assert.assertNotNull(etcdClient);
+    }
+
+    @Test
+    public void close() {
+        etcdClient.close();
+    }
+
+    @Test
+    public void put() {
+        CompletableFuture<PutResponse> put = mock(CompletableFuture.class);
+        when(client.getKVClient().put(ByteSequence.from(TEST_KEY, StandardCharsets.UTF_8), ByteSequence.from(TEST_VALUE, StandardCharsets.UTF_8))).thenReturn(put);
+        etcdClient.put(TEST_KEY, TEST_VALUE);
+    }
+
+    @Test
+    public void delete() {
+        CompletableFuture<DeleteResponse> delete = mock(CompletableFuture.class);
+        when(client.getKVClient().delete(ByteSequence.from(TEST_KEY, StandardCharsets.UTF_8))).thenReturn(delete);
+        etcdClient.delete(TEST_KEY);
+    }
+
+    @Test
+    public void deleteEtcdPathRecursive() {
+        etcdClient.deleteEtcdPathRecursive(TEST_KEY);

Review comment:
       The same as above.

##########
File path: shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/etcd/EtcdDataDataChangedListenerTest.java
##########
@@ -0,0 +1,128 @@
+/*
+ * 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.shenyu.admin.listener.etcd;
+
+import com.google.common.collect.ImmutableList;
+import lombok.SneakyThrows;
+import org.apache.shenyu.common.dto.AppAuthData;
+import org.apache.shenyu.common.dto.MetaData;
+import org.apache.shenyu.common.dto.PluginData;
+import org.apache.shenyu.common.dto.SelectorData;
+import org.apache.shenyu.common.dto.RuleData;
+import org.apache.shenyu.common.enums.DataEventTypeEnum;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+/**
+ * The testCase for {@link EtcdDataDataChangedListener}.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class EtcdDataDataChangedListenerTest {
+
+    private static final String MOCK_APP_KEY = "MOCK_APP_KEY";
+
+    private static final String MOCK_APP_SECRET = "MOCK_APP_SECRET";
+
+    private static final String MOCK_ID = "MOCK_ID";
+
+    private static final String MOCK_PATH = "MOCK_PATH";
+
+    private static final String MOCK_APP_NAME = "MOCK_APP_NAME";
+
+    private static final String MOCK_NAME = "MOCK_NAME";
+
+    private static final String MOCK_CONFIG = "MOCK_CONFIG";
+
+    private static final String MOCK_PLUGIN_NAME = "MOCK_PLUGIN_NAME";
+
+    private static final String MOCK_SELECTOR_ID = "MOCK_SELECTOR_ID";
+
+    @InjectMocks
+    private EtcdDataDataChangedListener etcdDataDataChangedListener;
+
+    @Mock
+    private EtcdClient etcdClient;
+
+    /**
+     * test case onAppAuthChanged event.
+     */
+    @Test
+    public void testOnAppAuthChanged() {
+        AppAuthData appAuthData = AppAuthData.builder().appKey(MOCK_APP_KEY).appSecret(MOCK_APP_SECRET).build();
+        etcdDataDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.CREATE);
+        etcdDataDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.UPDATE);
+        etcdDataDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.DELETE);
+    }
+
+    /**
+     * test case onMetaDataChanged event.
+     */
+    @SneakyThrows
+    @Test
+    public void testOnMetaDataChanged() {
+        MetaData metaData = MetaData.builder().id(MOCK_ID).path(MOCK_PATH).appName(MOCK_APP_NAME).build();
+        etcdDataDataChangedListener.onMetaDataChanged(ImmutableList.of(metaData), DataEventTypeEnum.CREATE);
+        etcdDataDataChangedListener.onMetaDataChanged(ImmutableList.of(metaData), DataEventTypeEnum.UPDATE);
+        etcdDataDataChangedListener.onMetaDataChanged(ImmutableList.of(metaData), DataEventTypeEnum.DELETE);
+    }
+
+    /**
+     * test case onPluginChanged event.
+     */
+    @Test
+    public void testOnPluginChanged() {
+        PluginData pluginData = PluginData.builder().id(MOCK_ID).name(MOCK_NAME).config(MOCK_CONFIG).build();
+        etcdDataDataChangedListener.onPluginChanged(ImmutableList.of(pluginData), DataEventTypeEnum.CREATE);
+        etcdDataDataChangedListener.onPluginChanged(ImmutableList.of(pluginData), DataEventTypeEnum.UPDATE);
+        etcdDataDataChangedListener.onPluginChanged(ImmutableList.of(pluginData), DataEventTypeEnum.DELETE);
+    }
+
+    /**
+     * test case onSelectorChanged event.
+     */
+    @Test
+    public void testOnSelectorChanged() {
+        SelectorData selectorData = SelectorData.builder().id(MOCK_ID).name(MOCK_NAME).pluginName(MOCK_PLUGIN_NAME).build();
+
+        etcdDataDataChangedListener.onSelectorChanged(ImmutableList.of(selectorData), DataEventTypeEnum.CREATE);
+        etcdDataDataChangedListener.onSelectorChanged(ImmutableList.of(selectorData), DataEventTypeEnum.UPDATE);
+        etcdDataDataChangedListener.onSelectorChanged(ImmutableList.of(selectorData), DataEventTypeEnum.REFRESH);
+        etcdDataDataChangedListener.onSelectorChanged(ImmutableList.of(selectorData), DataEventTypeEnum.DELETE);

Review comment:
       The same as above.

##########
File path: shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/etcd/EtcdDataDataChangedListenerTest.java
##########
@@ -0,0 +1,128 @@
+/*
+ * 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.shenyu.admin.listener.etcd;
+
+import com.google.common.collect.ImmutableList;
+import lombok.SneakyThrows;
+import org.apache.shenyu.common.dto.AppAuthData;
+import org.apache.shenyu.common.dto.MetaData;
+import org.apache.shenyu.common.dto.PluginData;
+import org.apache.shenyu.common.dto.SelectorData;
+import org.apache.shenyu.common.dto.RuleData;
+import org.apache.shenyu.common.enums.DataEventTypeEnum;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+/**
+ * The testCase for {@link EtcdDataDataChangedListener}.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class EtcdDataDataChangedListenerTest {
+
+    private static final String MOCK_APP_KEY = "MOCK_APP_KEY";
+
+    private static final String MOCK_APP_SECRET = "MOCK_APP_SECRET";
+
+    private static final String MOCK_ID = "MOCK_ID";
+
+    private static final String MOCK_PATH = "MOCK_PATH";
+
+    private static final String MOCK_APP_NAME = "MOCK_APP_NAME";
+
+    private static final String MOCK_NAME = "MOCK_NAME";
+
+    private static final String MOCK_CONFIG = "MOCK_CONFIG";
+
+    private static final String MOCK_PLUGIN_NAME = "MOCK_PLUGIN_NAME";
+
+    private static final String MOCK_SELECTOR_ID = "MOCK_SELECTOR_ID";
+
+    @InjectMocks
+    private EtcdDataDataChangedListener etcdDataDataChangedListener;
+
+    @Mock
+    private EtcdClient etcdClient;
+
+    /**
+     * test case onAppAuthChanged event.
+     */
+    @Test
+    public void testOnAppAuthChanged() {
+        AppAuthData appAuthData = AppAuthData.builder().appKey(MOCK_APP_KEY).appSecret(MOCK_APP_SECRET).build();
+        etcdDataDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.CREATE);
+        etcdDataDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.UPDATE);
+        etcdDataDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.DELETE);
+    }
+
+    /**
+     * test case onMetaDataChanged event.
+     */
+    @SneakyThrows
+    @Test
+    public void testOnMetaDataChanged() {
+        MetaData metaData = MetaData.builder().id(MOCK_ID).path(MOCK_PATH).appName(MOCK_APP_NAME).build();
+        etcdDataDataChangedListener.onMetaDataChanged(ImmutableList.of(metaData), DataEventTypeEnum.CREATE);
+        etcdDataDataChangedListener.onMetaDataChanged(ImmutableList.of(metaData), DataEventTypeEnum.UPDATE);
+        etcdDataDataChangedListener.onMetaDataChanged(ImmutableList.of(metaData), DataEventTypeEnum.DELETE);
+    }
+
+    /**
+     * test case onPluginChanged event.
+     */
+    @Test
+    public void testOnPluginChanged() {
+        PluginData pluginData = PluginData.builder().id(MOCK_ID).name(MOCK_NAME).config(MOCK_CONFIG).build();
+        etcdDataDataChangedListener.onPluginChanged(ImmutableList.of(pluginData), DataEventTypeEnum.CREATE);
+        etcdDataDataChangedListener.onPluginChanged(ImmutableList.of(pluginData), DataEventTypeEnum.UPDATE);
+        etcdDataDataChangedListener.onPluginChanged(ImmutableList.of(pluginData), DataEventTypeEnum.DELETE);

Review comment:
       The same as above.

##########
File path: shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/etcd/EtcdDataDataChangedListenerTest.java
##########
@@ -0,0 +1,128 @@
+/*
+ * 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.shenyu.admin.listener.etcd;
+
+import com.google.common.collect.ImmutableList;
+import lombok.SneakyThrows;
+import org.apache.shenyu.common.dto.AppAuthData;
+import org.apache.shenyu.common.dto.MetaData;
+import org.apache.shenyu.common.dto.PluginData;
+import org.apache.shenyu.common.dto.SelectorData;
+import org.apache.shenyu.common.dto.RuleData;
+import org.apache.shenyu.common.enums.DataEventTypeEnum;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+/**
+ * The testCase for {@link EtcdDataDataChangedListener}.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class EtcdDataDataChangedListenerTest {
+
+    private static final String MOCK_APP_KEY = "MOCK_APP_KEY";
+
+    private static final String MOCK_APP_SECRET = "MOCK_APP_SECRET";
+
+    private static final String MOCK_ID = "MOCK_ID";
+
+    private static final String MOCK_PATH = "MOCK_PATH";
+
+    private static final String MOCK_APP_NAME = "MOCK_APP_NAME";
+
+    private static final String MOCK_NAME = "MOCK_NAME";
+
+    private static final String MOCK_CONFIG = "MOCK_CONFIG";
+
+    private static final String MOCK_PLUGIN_NAME = "MOCK_PLUGIN_NAME";
+
+    private static final String MOCK_SELECTOR_ID = "MOCK_SELECTOR_ID";
+
+    @InjectMocks
+    private EtcdDataDataChangedListener etcdDataDataChangedListener;
+
+    @Mock
+    private EtcdClient etcdClient;
+
+    /**
+     * test case onAppAuthChanged event.
+     */
+    @Test
+    public void testOnAppAuthChanged() {
+        AppAuthData appAuthData = AppAuthData.builder().appKey(MOCK_APP_KEY).appSecret(MOCK_APP_SECRET).build();
+        etcdDataDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.CREATE);
+        etcdDataDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.UPDATE);
+        etcdDataDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.DELETE);
+    }
+
+    /**
+     * test case onMetaDataChanged event.
+     */
+    @SneakyThrows
+    @Test
+    public void testOnMetaDataChanged() {
+        MetaData metaData = MetaData.builder().id(MOCK_ID).path(MOCK_PATH).appName(MOCK_APP_NAME).build();
+        etcdDataDataChangedListener.onMetaDataChanged(ImmutableList.of(metaData), DataEventTypeEnum.CREATE);
+        etcdDataDataChangedListener.onMetaDataChanged(ImmutableList.of(metaData), DataEventTypeEnum.UPDATE);
+        etcdDataDataChangedListener.onMetaDataChanged(ImmutableList.of(metaData), DataEventTypeEnum.DELETE);
+    }
+
+    /**
+     * test case onPluginChanged event.
+     */
+    @Test
+    public void testOnPluginChanged() {
+        PluginData pluginData = PluginData.builder().id(MOCK_ID).name(MOCK_NAME).config(MOCK_CONFIG).build();
+        etcdDataDataChangedListener.onPluginChanged(ImmutableList.of(pluginData), DataEventTypeEnum.CREATE);
+        etcdDataDataChangedListener.onPluginChanged(ImmutableList.of(pluginData), DataEventTypeEnum.UPDATE);
+        etcdDataDataChangedListener.onPluginChanged(ImmutableList.of(pluginData), DataEventTypeEnum.DELETE);
+    }
+
+    /**
+     * test case onSelectorChanged event.
+     */
+    @Test
+    public void testOnSelectorChanged() {
+        SelectorData selectorData = SelectorData.builder().id(MOCK_ID).name(MOCK_NAME).pluginName(MOCK_PLUGIN_NAME).build();
+
+        etcdDataDataChangedListener.onSelectorChanged(ImmutableList.of(selectorData), DataEventTypeEnum.CREATE);
+        etcdDataDataChangedListener.onSelectorChanged(ImmutableList.of(selectorData), DataEventTypeEnum.UPDATE);
+        etcdDataDataChangedListener.onSelectorChanged(ImmutableList.of(selectorData), DataEventTypeEnum.REFRESH);
+        etcdDataDataChangedListener.onSelectorChanged(ImmutableList.of(selectorData), DataEventTypeEnum.DELETE);
+    }
+
+    /**
+     * test case onRuleChanged event.
+     */
+    @Test
+    public void testOnRuleChanged() {
+        RuleData ruleData = RuleData.builder()
+                .id(MOCK_ID)
+                .name(MOCK_NAME)
+                .pluginName(MOCK_PLUGIN_NAME)
+                .selectorId(MOCK_SELECTOR_ID)
+                .build();
+
+        etcdDataDataChangedListener.onRuleChanged(ImmutableList.of(ruleData), DataEventTypeEnum.CREATE);
+        etcdDataDataChangedListener.onRuleChanged(ImmutableList.of(ruleData), DataEventTypeEnum.UPDATE);
+        etcdDataDataChangedListener.onRuleChanged(ImmutableList.of(ruleData), DataEventTypeEnum.REFRESH);
+        etcdDataDataChangedListener.onRuleChanged(ImmutableList.of(ruleData), DataEventTypeEnum.DELETE);

Review comment:
       The same as above.

##########
File path: shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/etcd/EtcdClientTest.java
##########
@@ -0,0 +1,84 @@
+/*
+ * 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.shenyu.admin.listener.etcd;
+
+import io.etcd.jetcd.ByteSequence;
+import io.etcd.jetcd.Client;
+import io.etcd.jetcd.KV;
+import io.etcd.jetcd.kv.DeleteResponse;
+import io.etcd.jetcd.kv.PutResponse;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import java.nio.charset.StandardCharsets;
+import java.util.concurrent.CompletableFuture;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+/**
+ * The testCase for {@link EtcdClient}.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class EtcdClientTest {
+
+    private static final String TEST_KEY = "KEY";
+
+    private static final String TEST_VALUE = "VALUE";
+
+    @Mock
+    private Client client;
+
+    private EtcdClient etcdClient;
+
+    @Before
+    public void setUp() {
+        KV kvClient = mock(KV.class);
+        when(client.getKVClient()).thenReturn(kvClient);
+        etcdClient = new EtcdClient(client);
+        Assert.assertNotNull(etcdClient);
+    }
+
+    @Test
+    public void close() {
+        etcdClient.close();
+    }
+
+    @Test
+    public void put() {
+        CompletableFuture<PutResponse> put = mock(CompletableFuture.class);
+        when(client.getKVClient().put(ByteSequence.from(TEST_KEY, StandardCharsets.UTF_8), ByteSequence.from(TEST_VALUE, StandardCharsets.UTF_8))).thenReturn(put);
+        etcdClient.put(TEST_KEY, TEST_VALUE);

Review comment:
       It also makes sense to verify what we expect. not just calling. : )
   `verify(client.getKVClient(), times(1)).put(any(ByteSequence.class), any(ByteSequence.class));`

##########
File path: shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/etcd/EtcdDataDataChangedListenerTest.java
##########
@@ -0,0 +1,128 @@
+/*
+ * 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.shenyu.admin.listener.etcd;
+
+import com.google.common.collect.ImmutableList;
+import lombok.SneakyThrows;
+import org.apache.shenyu.common.dto.AppAuthData;
+import org.apache.shenyu.common.dto.MetaData;
+import org.apache.shenyu.common.dto.PluginData;
+import org.apache.shenyu.common.dto.SelectorData;
+import org.apache.shenyu.common.dto.RuleData;
+import org.apache.shenyu.common.enums.DataEventTypeEnum;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+/**
+ * The testCase for {@link EtcdDataDataChangedListener}.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class EtcdDataDataChangedListenerTest {
+
+    private static final String MOCK_APP_KEY = "MOCK_APP_KEY";
+
+    private static final String MOCK_APP_SECRET = "MOCK_APP_SECRET";
+
+    private static final String MOCK_ID = "MOCK_ID";
+
+    private static final String MOCK_PATH = "MOCK_PATH";
+
+    private static final String MOCK_APP_NAME = "MOCK_APP_NAME";
+
+    private static final String MOCK_NAME = "MOCK_NAME";
+
+    private static final String MOCK_CONFIG = "MOCK_CONFIG";
+
+    private static final String MOCK_PLUGIN_NAME = "MOCK_PLUGIN_NAME";
+
+    private static final String MOCK_SELECTOR_ID = "MOCK_SELECTOR_ID";
+
+    @InjectMocks
+    private EtcdDataDataChangedListener etcdDataDataChangedListener;
+
+    @Mock
+    private EtcdClient etcdClient;
+
+    /**
+     * test case onAppAuthChanged event.
+     */
+    @Test
+    public void testOnAppAuthChanged() {
+        AppAuthData appAuthData = AppAuthData.builder().appKey(MOCK_APP_KEY).appSecret(MOCK_APP_SECRET).build();
+        etcdDataDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.CREATE);
+        etcdDataDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.UPDATE);
+        etcdDataDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.DELETE);
+    }
+
+    /**
+     * test case onMetaDataChanged event.
+     */
+    @SneakyThrows
+    @Test
+    public void testOnMetaDataChanged() {
+        MetaData metaData = MetaData.builder().id(MOCK_ID).path(MOCK_PATH).appName(MOCK_APP_NAME).build();
+        etcdDataDataChangedListener.onMetaDataChanged(ImmutableList.of(metaData), DataEventTypeEnum.CREATE);
+        etcdDataDataChangedListener.onMetaDataChanged(ImmutableList.of(metaData), DataEventTypeEnum.UPDATE);
+        etcdDataDataChangedListener.onMetaDataChanged(ImmutableList.of(metaData), DataEventTypeEnum.DELETE);

Review comment:
       The same as above.

##########
File path: shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/nacos/NacosDataChangedListenerTest.java
##########
@@ -0,0 +1,177 @@
+/*
+ * 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.shenyu.admin.listener.nacos;
+
+import com.alibaba.nacos.api.config.ConfigService;
+import com.google.common.collect.ImmutableList;
+import lombok.SneakyThrows;
+import org.apache.shenyu.common.constant.NacosPathConstants;
+import org.apache.shenyu.common.dto.AppAuthData;
+import org.apache.shenyu.common.dto.MetaData;
+import org.apache.shenyu.common.dto.PluginData;
+import org.apache.shenyu.common.dto.SelectorData;
+import org.apache.shenyu.common.dto.RuleData;
+import org.apache.shenyu.common.enums.DataEventTypeEnum;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import static org.mockito.Mockito.when;
+
+/**
+ * The testCase for {@link NacosDataChangedListener}.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class NacosDataChangedListenerTest {
+
+    private static final String MOCK_APP_KEY = "MOCK_APP_KEY";
+
+    private static final String MOCK_APP_SECRET = "MOCK_APP_SECRET";
+
+    private static final String MOCK_ID = "MOCK_ID";
+
+    private static final String MOCK_PATH = "MOCK_PATH";
+
+    private static final String MOCK_APP_NAME = "MOCK_APP_NAME";
+
+    private static final String MOCK_NAME = "MOCK_NAME";
+
+    private static final String MOCK_CONFIG = "MOCK_CONFIG";
+
+    private static final String MOCK_PLUGIN_NAME = "MOCK_PLUGIN_NAME";
+
+    private static final String MOCK_SELECTOR_ID = "MOCK_SELECTOR_ID";
+
+    @Mock
+    private ConfigService configService;
+
+    @InjectMocks
+    private NacosDataChangedListener nacosDataChangedListener;
+
+    @Test
+    @SneakyThrows
+    public void testOnAppAuthChanged() {
+        String config = "{\"divide\":{\"appKey\":\"appKey\",\"appSecret\":\"appSecret\",\"open\":true}}";
+        AppAuthData appAuthData = AppAuthData.builder().appKey(MOCK_APP_KEY).appSecret(MOCK_APP_SECRET).build();
+
+        when(configService.getConfig(NacosPathConstants.AUTH_DATA_ID, NacosPathConstants.GROUP,
+                NacosPathConstants.DEFAULT_TIME_OUT)).thenReturn(config);
+        nacosDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.DELETE);
+        nacosDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.REFRESH);
+        nacosDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.MYSELF);
+        nacosDataChangedListener.onAppAuthChanged(ImmutableList.of(appAuthData), DataEventTypeEnum.CREATE);
+

Review comment:
       verify(configService, times(4)).publishConfig(any(String.class), any(String.class), any(String.class));

##########
File path: shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/etcd/EtcdClientTest.java
##########
@@ -0,0 +1,84 @@
+/*
+ * 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.shenyu.admin.listener.etcd;
+
+import io.etcd.jetcd.ByteSequence;
+import io.etcd.jetcd.Client;
+import io.etcd.jetcd.KV;
+import io.etcd.jetcd.kv.DeleteResponse;
+import io.etcd.jetcd.kv.PutResponse;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import java.nio.charset.StandardCharsets;
+import java.util.concurrent.CompletableFuture;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+/**
+ * The testCase for {@link EtcdClient}.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class EtcdClientTest {
+
+    private static final String TEST_KEY = "KEY";
+
+    private static final String TEST_VALUE = "VALUE";
+
+    @Mock
+    private Client client;
+
+    private EtcdClient etcdClient;
+
+    @Before
+    public void setUp() {
+        KV kvClient = mock(KV.class);
+        when(client.getKVClient()).thenReturn(kvClient);
+        etcdClient = new EtcdClient(client);
+        Assert.assertNotNull(etcdClient);
+    }
+
+    @Test
+    public void close() {
+        etcdClient.close();
+    }
+
+    @Test
+    public void put() {
+        CompletableFuture<PutResponse> put = mock(CompletableFuture.class);
+        when(client.getKVClient().put(ByteSequence.from(TEST_KEY, StandardCharsets.UTF_8), ByteSequence.from(TEST_VALUE, StandardCharsets.UTF_8))).thenReturn(put);
+        etcdClient.put(TEST_KEY, TEST_VALUE);
+    }
+
+    @Test
+    public void delete() {
+        CompletableFuture<DeleteResponse> delete = mock(CompletableFuture.class);
+        when(client.getKVClient().delete(ByteSequence.from(TEST_KEY, StandardCharsets.UTF_8))).thenReturn(delete);
+        etcdClient.delete(TEST_KEY);

Review comment:
       The same as above.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shenyu.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-shenyu] codecov-commenter commented on pull request #1710: [ISSUE #1709] Add test case for shenyu-admin module

Posted by GitBox <gi...@apache.org>.
codecov-commenter commented on pull request #1710:
URL: https://github.com/apache/incubator-shenyu/pull/1710#issuecomment-873536465


   # [Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#1710](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (721d8fa) into [master](https://codecov.io/gh/apache/incubator-shenyu/commit/cdb06b94ad53d4f5e48eb17e72b195b19d099c94?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (cdb06b9) will **increase** coverage by `1.92%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/graphs/tree.svg?width=650&height=150&src=pr&token=k89XYIkOHK&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #1710      +/-   ##
   ============================================
   + Coverage     60.62%   62.55%   +1.92%     
   - Complexity     2272     2343      +71     
   ============================================
     Files           478      478              
     Lines         10109    10108       -1     
     Branches       1028     1028              
   ============================================
   + Hits           6129     6323     +194     
   + Misses         3476     3281     -195     
     Partials        504      504              
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [...enyu/client/tars/TarsServiceBeanPostProcessor.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWNsaWVudC9zaGVueXUtY2xpZW50LXRhcnMvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoZW55dS9jbGllbnQvdGFycy9UYXJzU2VydmljZUJlYW5Qb3N0UHJvY2Vzc29yLmphdmE=) | `25.67% <0.00%> (-32.44%)` | :arrow_down: |
   | [...ache/shenyu/plugin/grpc/cache/GrpcClientCache.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWdycGMvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoZW55dS9wbHVnaW4vZ3JwYy9jYWNoZS9HcnBjQ2xpZW50Q2FjaGUuamF2YQ==) | `66.66% <0.00%> (-27.78%)` | :arrow_down: |
   | [...che/shenyu/sync/data/http/HttpSyncDataService.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXN5bmMtZGF0YS1jZW50ZXIvc2hlbnl1LXN5bmMtZGF0YS1odHRwL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvc3luYy9kYXRhL2h0dHAvSHR0cFN5bmNEYXRhU2VydmljZS5qYXZh) | `63.10% <0.00%> (-18.45%)` | :arrow_down: |
   | [...henyu/plugin/grpc/resolver/ShenyuNameResolver.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWdycGMvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoZW55dS9wbHVnaW4vZ3JwYy9yZXNvbHZlci9TaGVueXVOYW1lUmVzb2x2ZXIuamF2YQ==) | `48.42% <0.00%> (-14.74%)` | :arrow_down: |
   | [...he/shenyu/plugin/grpc/client/ShenyuGrpcClient.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWdycGMvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoZW55dS9wbHVnaW4vZ3JwYy9jbGllbnQvU2hlbnl1R3JwY0NsaWVudC5qYXZh) | `8.51% <0.00%> (-4.26%)` | :arrow_down: |
   | [...plugin/divide/balance/spi/AbstractLoadBalance.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWRpdmlkZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvc2hlbnl1L3BsdWdpbi9kaXZpZGUvYmFsYW5jZS9zcGkvQWJzdHJhY3RMb2FkQmFsYW5jZS5qYXZh) | `36.84% <0.00%> (-3.16%)` | :arrow_down: |
   | [...henyu/plugin/httpclient/NettyHttpClientPlugin.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWh0dHBjbGllbnQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoZW55dS9wbHVnaW4vaHR0cGNsaWVudC9OZXR0eUh0dHBDbGllbnRQbHVnaW4uamF2YQ==) | `57.14% <0.00%> (-2.05%)` | :arrow_down: |
   | [...elimiter/handler/RateLimiterPluginDataHandler.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLXJhdGVsaW1pdGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvcGx1Z2luL3JhdGVsaW1pdGVyL2hhbmRsZXIvUmF0ZUxpbWl0ZXJQbHVnaW5EYXRhSGFuZGxlci5qYXZh) | `69.23% <0.00%> (-1.54%)` | :arrow_down: |
   | [.../plugin/grpc/loadbalance/AbstractLoadBalancer.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWdycGMvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoZW55dS9wbHVnaW4vZ3JwYy9sb2FkYmFsYW5jZS9BYnN0cmFjdExvYWRCYWxhbmNlci5qYXZh) | `68.47% <0.00%> (-1.09%)` | :arrow_down: |
   | [.../apache/shenyu/admin/listener/etcd/EtcdClient.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvZXRjZC9FdGNkQ2xpZW50LmphdmE=) | `72.72% <0.00%> (+72.72%)` | :arrow_up: |
   | ... and [4 more](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [cdb06b9...721d8fa](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shenyu.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-shenyu] codecov-commenter edited a comment on pull request #1710: [ISSUE #1709] Add test case for shenyu-admin module

Posted by GitBox <gi...@apache.org>.
codecov-commenter edited a comment on pull request #1710:
URL: https://github.com/apache/incubator-shenyu/pull/1710#issuecomment-873536465


   # [Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#1710](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (721d8fa) into [master](https://codecov.io/gh/apache/incubator-shenyu/commit/cdb06b94ad53d4f5e48eb17e72b195b19d099c94?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (cdb06b9) will **increase** coverage by `2.22%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/graphs/tree.svg?width=650&height=150&src=pr&token=k89XYIkOHK&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #1710      +/-   ##
   ============================================
   + Coverage     60.62%   62.85%   +2.22%     
   - Complexity     2272     2347      +75     
   ============================================
     Files           478      478              
     Lines         10109    10108       -1     
     Branches       1028     1028              
   ============================================
   + Hits           6129     6353     +224     
   + Misses         3476     3253     -223     
   + Partials        504      502       -2     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [...enyu/client/tars/TarsServiceBeanPostProcessor.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWNsaWVudC9zaGVueXUtY2xpZW50LXRhcnMvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoZW55dS9jbGllbnQvdGFycy9UYXJzU2VydmljZUJlYW5Qb3N0UHJvY2Vzc29yLmphdmE=) | `25.67% <0.00%> (-32.44%)` | :arrow_down: |
   | [...che/shenyu/sync/data/http/HttpSyncDataService.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXN5bmMtZGF0YS1jZW50ZXIvc2hlbnl1LXN5bmMtZGF0YS1odHRwL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvc3luYy9kYXRhL2h0dHAvSHR0cFN5bmNEYXRhU2VydmljZS5qYXZh) | `71.84% <0.00%> (-9.71%)` | :arrow_down: |
   | [...plugin/divide/balance/spi/AbstractLoadBalance.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWRpdmlkZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvc2hlbnl1L3BsdWdpbi9kaXZpZGUvYmFsYW5jZS9zcGkvQWJzdHJhY3RMb2FkQmFsYW5jZS5qYXZh) | `36.84% <0.00%> (-3.16%)` | :arrow_down: |
   | [...henyu/plugin/grpc/resolver/ShenyuNameResolver.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWdycGMvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoZW55dS9wbHVnaW4vZ3JwYy9yZXNvbHZlci9TaGVueXVOYW1lUmVzb2x2ZXIuamF2YQ==) | `61.05% <0.00%> (-2.11%)` | :arrow_down: |
   | [...henyu/plugin/httpclient/NettyHttpClientPlugin.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWh0dHBjbGllbnQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoZW55dS9wbHVnaW4vaHR0cGNsaWVudC9OZXR0eUh0dHBDbGllbnRQbHVnaW4uamF2YQ==) | `57.14% <0.00%> (-2.05%)` | :arrow_down: |
   | [.../apache/shenyu/admin/listener/etcd/EtcdClient.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvZXRjZC9FdGNkQ2xpZW50LmphdmE=) | `72.72% <0.00%> (+72.72%)` | :arrow_up: |
   | [...pache/shenyu/admin/listener/etcd/EtcdDataInit.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvZXRjZC9FdGNkRGF0YUluaXQuamF2YQ==) | `91.66% <0.00%> (+91.66%)` | :arrow_up: |
   | [...admin/listener/nacos/NacosDataChangedListener.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvbmFjb3MvTmFjb3NEYXRhQ2hhbmdlZExpc3RlbmVyLmphdmE=) | `96.66% <0.00%> (+92.77%)` | :arrow_up: |
   | [...che/shenyu/admin/listener/nacos/NacosDataInit.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvbmFjb3MvTmFjb3NEYXRhSW5pdC5qYXZh) | `92.85% <0.00%> (+92.85%)` | :arrow_up: |
   | [...min/listener/etcd/EtcdDataDataChangedListener.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvZXRjZC9FdGNkRGF0YURhdGFDaGFuZ2VkTGlzdGVuZXIuamF2YQ==) | `96.49% <0.00%> (+96.49%)` | :arrow_up: |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [cdb06b9...721d8fa](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shenyu.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-shenyu] dengliming merged pull request #1710: [ISSUE #1709] Add test case for shenyu-admin module

Posted by GitBox <gi...@apache.org>.
dengliming merged pull request #1710:
URL: https://github.com/apache/incubator-shenyu/pull/1710


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shenyu.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-shenyu] codecov-commenter edited a comment on pull request #1710: [ISSUE #1709] Add test case for shenyu-admin module

Posted by GitBox <gi...@apache.org>.
codecov-commenter edited a comment on pull request #1710:
URL: https://github.com/apache/incubator-shenyu/pull/1710#issuecomment-873536465


   # [Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#1710](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (17ba47f) into [master](https://codecov.io/gh/apache/incubator-shenyu/commit/cdb06b94ad53d4f5e48eb17e72b195b19d099c94?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (cdb06b9) will **increase** coverage by `2.28%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/graphs/tree.svg?width=650&height=150&src=pr&token=k89XYIkOHK&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #1710      +/-   ##
   ============================================
   + Coverage     60.62%   62.91%   +2.28%     
   - Complexity     2272     2349      +77     
   ============================================
     Files           478      478              
     Lines         10109    10108       -1     
     Branches       1028     1028              
   ============================================
   + Hits           6129     6359     +230     
   + Misses         3476     3239     -237     
   - Partials        504      510       +6     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [...enyu/client/tars/TarsServiceBeanPostProcessor.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWNsaWVudC9zaGVueXUtY2xpZW50LXRhcnMvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoZW55dS9jbGllbnQvdGFycy9UYXJzU2VydmljZUJlYW5Qb3N0UHJvY2Vzc29yLmphdmE=) | `35.13% <0.00%> (-22.98%)` | :arrow_down: |
   | [...che/shenyu/sync/data/http/HttpSyncDataService.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXN5bmMtZGF0YS1jZW50ZXIvc2hlbnl1LXN5bmMtZGF0YS1odHRwL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvc3luYy9kYXRhL2h0dHAvSHR0cFN5bmNEYXRhU2VydmljZS5qYXZh) | `72.81% <0.00%> (-8.74%)` | :arrow_down: |
   | [...apache/shenyu/common/utils/UpstreamCheckUtils.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWNvbW1vbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvc2hlbnl1L2NvbW1vbi91dGlscy9VcHN0cmVhbUNoZWNrVXRpbHMuamF2YQ==) | `88.88% <0.00%> (-5.56%)` | :arrow_down: |
   | [...henyu/plugin/grpc/resolver/ShenyuNameResolver.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWdycGMvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoZW55dS9wbHVnaW4vZ3JwYy9yZXNvbHZlci9TaGVueXVOYW1lUmVzb2x2ZXIuamF2YQ==) | `60.00% <0.00%> (-3.16%)` | :arrow_down: |
   | [...plugin/divide/balance/spi/AbstractLoadBalance.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWRpdmlkZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvc2hlbnl1L3BsdWdpbi9kaXZpZGUvYmFsYW5jZS9zcGkvQWJzdHJhY3RMb2FkQmFsYW5jZS5qYXZh) | `36.84% <0.00%> (-3.16%)` | :arrow_down: |
   | [...henyu/plugin/httpclient/NettyHttpClientPlugin.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWh0dHBjbGllbnQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoZW55dS9wbHVnaW4vaHR0cGNsaWVudC9OZXR0eUh0dHBDbGllbnRQbHVnaW4uamF2YQ==) | `57.14% <0.00%> (-2.05%)` | :arrow_down: |
   | [.../apache/shenyu/admin/listener/etcd/EtcdClient.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvZXRjZC9FdGNkQ2xpZW50LmphdmE=) | `72.72% <0.00%> (+72.72%)` | :arrow_up: |
   | [...pache/shenyu/admin/listener/etcd/EtcdDataInit.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvZXRjZC9FdGNkRGF0YUluaXQuamF2YQ==) | `91.66% <0.00%> (+91.66%)` | :arrow_up: |
   | [...admin/listener/nacos/NacosDataChangedListener.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvbmFjb3MvTmFjb3NEYXRhQ2hhbmdlZExpc3RlbmVyLmphdmE=) | `96.66% <0.00%> (+92.77%)` | :arrow_up: |
   | [...che/shenyu/admin/listener/nacos/NacosDataInit.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvbmFjb3MvTmFjb3NEYXRhSW5pdC5qYXZh) | `92.85% <0.00%> (+92.85%)` | :arrow_up: |
   | ... and [1 more](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [cdb06b9...17ba47f](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shenyu.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-shenyu] codecov-commenter edited a comment on pull request #1710: [ISSUE #1709] Add test case for shenyu-admin module

Posted by GitBox <gi...@apache.org>.
codecov-commenter edited a comment on pull request #1710:
URL: https://github.com/apache/incubator-shenyu/pull/1710#issuecomment-873536465


   # [Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#1710](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (721d8fa) into [master](https://codecov.io/gh/apache/incubator-shenyu/commit/cdb06b94ad53d4f5e48eb17e72b195b19d099c94?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (cdb06b9) will **increase** coverage by `2.48%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/graphs/tree.svg?width=650&height=150&src=pr&token=k89XYIkOHK&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #1710      +/-   ##
   ============================================
   + Coverage     60.62%   63.11%   +2.48%     
   - Complexity     2272     2356      +84     
   ============================================
     Files           478      478              
     Lines         10109    10108       -1     
     Branches       1028     1028              
   ============================================
   + Hits           6129     6380     +251     
   + Misses         3476     3222     -254     
   - Partials        504      506       +2     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [...che/shenyu/sync/data/http/HttpSyncDataService.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXN5bmMtZGF0YS1jZW50ZXIvc2hlbnl1LXN5bmMtZGF0YS1odHRwL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvc3luYy9kYXRhL2h0dHAvSHR0cFN5bmNEYXRhU2VydmljZS5qYXZh) | `71.84% <0.00%> (-9.71%)` | :arrow_down: |
   | [...plugin/divide/balance/spi/AbstractLoadBalance.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWRpdmlkZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvc2hlbnl1L3BsdWdpbi9kaXZpZGUvYmFsYW5jZS9zcGkvQWJzdHJhY3RMb2FkQmFsYW5jZS5qYXZh) | `36.84% <0.00%> (-3.16%)` | :arrow_down: |
   | [.../apache/shenyu/admin/listener/etcd/EtcdClient.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvZXRjZC9FdGNkQ2xpZW50LmphdmE=) | `72.72% <0.00%> (+72.72%)` | :arrow_up: |
   | [...pache/shenyu/admin/listener/etcd/EtcdDataInit.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvZXRjZC9FdGNkRGF0YUluaXQuamF2YQ==) | `91.66% <0.00%> (+91.66%)` | :arrow_up: |
   | [...admin/listener/nacos/NacosDataChangedListener.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvbmFjb3MvTmFjb3NEYXRhQ2hhbmdlZExpc3RlbmVyLmphdmE=) | `96.66% <0.00%> (+92.77%)` | :arrow_up: |
   | [...che/shenyu/admin/listener/nacos/NacosDataInit.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvbmFjb3MvTmFjb3NEYXRhSW5pdC5qYXZh) | `92.85% <0.00%> (+92.85%)` | :arrow_up: |
   | [...min/listener/etcd/EtcdDataDataChangedListener.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvZXRjZC9FdGNkRGF0YURhdGFDaGFuZ2VkTGlzdGVuZXIuamF2YQ==) | `96.49% <0.00%> (+96.49%)` | :arrow_up: |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [cdb06b9...721d8fa](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shenyu.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-shenyu] codecov-commenter edited a comment on pull request #1710: [ISSUE #1709] Add test case for shenyu-admin module

Posted by GitBox <gi...@apache.org>.
codecov-commenter edited a comment on pull request #1710:
URL: https://github.com/apache/incubator-shenyu/pull/1710#issuecomment-873536465


   # [Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#1710](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (17ba47f) into [master](https://codecov.io/gh/apache/incubator-shenyu/commit/cdb06b94ad53d4f5e48eb17e72b195b19d099c94?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (cdb06b9) will **increase** coverage by `2.51%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/graphs/tree.svg?width=650&height=150&src=pr&token=k89XYIkOHK&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #1710      +/-   ##
   ============================================
   + Coverage     60.62%   63.14%   +2.51%     
   - Complexity     2272     2356      +84     
   ============================================
     Files           478      478              
     Lines         10109    10108       -1     
     Branches       1028     1028              
   ============================================
   + Hits           6129     6383     +254     
   + Misses         3476     3214     -262     
   - Partials        504      511       +7     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [...che/shenyu/sync/data/http/HttpSyncDataService.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXN5bmMtZGF0YS1jZW50ZXIvc2hlbnl1LXN5bmMtZGF0YS1odHRwL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvc3luYy9kYXRhL2h0dHAvSHR0cFN5bmNEYXRhU2VydmljZS5qYXZh) | `74.75% <0.00%> (-6.80%)` | :arrow_down: |
   | [...apache/shenyu/common/utils/UpstreamCheckUtils.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWNvbW1vbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvc2hlbnl1L2NvbW1vbi91dGlscy9VcHN0cmVhbUNoZWNrVXRpbHMuamF2YQ==) | `88.88% <0.00%> (-5.56%)` | :arrow_down: |
   | [...plugin/divide/balance/spi/AbstractLoadBalance.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LXBsdWdpbi9zaGVueXUtcGx1Z2luLWRpdmlkZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvc2hlbnl1L3BsdWdpbi9kaXZpZGUvYmFsYW5jZS9zcGkvQWJzdHJhY3RMb2FkQmFsYW5jZS5qYXZh) | `36.84% <0.00%> (-3.16%)` | :arrow_down: |
   | [...enyu/client/tars/TarsServiceBeanPostProcessor.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWNsaWVudC9zaGVueXUtY2xpZW50LXRhcnMvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoZW55dS9jbGllbnQvdGFycy9UYXJzU2VydmljZUJlYW5Qb3N0UHJvY2Vzc29yLmphdmE=) | `59.45% <0.00%> (+1.35%)` | :arrow_up: |
   | [.../apache/shenyu/admin/listener/etcd/EtcdClient.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvZXRjZC9FdGNkQ2xpZW50LmphdmE=) | `72.72% <0.00%> (+72.72%)` | :arrow_up: |
   | [...pache/shenyu/admin/listener/etcd/EtcdDataInit.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvZXRjZC9FdGNkRGF0YUluaXQuamF2YQ==) | `91.66% <0.00%> (+91.66%)` | :arrow_up: |
   | [...admin/listener/nacos/NacosDataChangedListener.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvbmFjb3MvTmFjb3NEYXRhQ2hhbmdlZExpc3RlbmVyLmphdmE=) | `96.66% <0.00%> (+92.77%)` | :arrow_up: |
   | [...che/shenyu/admin/listener/nacos/NacosDataInit.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvbmFjb3MvTmFjb3NEYXRhSW5pdC5qYXZh) | `92.85% <0.00%> (+92.85%)` | :arrow_up: |
   | [...min/listener/etcd/EtcdDataDataChangedListener.java](https://codecov.io/gh/apache/incubator-shenyu/pull/1710/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hlbnl1LWFkbWluL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGVueXUvYWRtaW4vbGlzdGVuZXIvZXRjZC9FdGNkRGF0YURhdGFDaGFuZ2VkTGlzdGVuZXIuamF2YQ==) | `96.49% <0.00%> (+96.49%)` | :arrow_up: |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [cdb06b9...17ba47f](https://codecov.io/gh/apache/incubator-shenyu/pull/1710?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shenyu.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org