You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2021/08/23 05:46:43 UTC

[dubbo] branch 3.0 updated: Add test cases to the Configurator after version 2.7 (#8560)

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

liujun pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/3.0 by this push:
     new 0382a6b  Add test cases to the Configurator after version 2.7 (#8560)
0382a6b is described below

commit 0382a6bb5d5778ca816b94d5ee9f0729d3f32f44
Author: 灼华 <43...@users.noreply.github.com>
AuthorDate: Mon Aug 23 13:46:36 2021 +0800

    Add test cases to the Configurator after version 2.7 (#8560)
---
 .../absent/AbsentConfiguratorTest.java             | 52 ++++++++++++++++++++++
 .../override/OverrideConfiguratorTest.java         | 49 ++++++++++++++++++++
 2 files changed, 101 insertions(+)

diff --git a/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/configurator/absent/AbsentConfiguratorTest.java b/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/configurator/absent/AbsentConfiguratorTest.java
index 3f017a3..1949280 100644
--- a/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/configurator/absent/AbsentConfiguratorTest.java
+++ b/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/configurator/absent/AbsentConfiguratorTest.java
@@ -23,6 +23,9 @@ import org.apache.dubbo.rpc.cluster.configurator.consts.UrlConstant;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * OverrideConfiguratorTest
  */
@@ -65,4 +68,53 @@ public class AbsentConfiguratorTest {
         Assertions.assertEquals("1000", url.getParameter("timeout"));
     }
 
+    // Test the version after 2.7
+    @Test
+    public void testAbsentForVersion27() {
+        {
+            String consumerUrlV27 = "dubbo://172.24.160.179/com.foo.BarService?application=foo&side=consumer&timeout=100";
+
+            URL consumerConfiguratorUrl = URL.valueOf("absent://0.0.0.0/com.foo.BarService");
+            Map<String, String> params = new HashMap<>();
+            params.put("side", "consumer");
+            params.put("configVersion", "2.7");
+            params.put("application", "foo");
+            params.put("timeout", "10000");
+            params.put("weight", "200");
+            consumerConfiguratorUrl = consumerConfiguratorUrl.addParameters(params);
+
+            AbsentConfigurator configurator = new AbsentConfigurator(consumerConfiguratorUrl);
+            // Meet the configured conditions:
+            // same side
+            // The port of configuratorUrl is 0
+            // The host of configuratorUrl is 0.0.0.0 or the local address is the same as consumerUrlV27
+            // same appName
+            URL url = configurator.configure(URL.valueOf(consumerUrlV27));
+            Assertions.assertEquals(url.getParameter("timeout"), "100");
+            Assertions.assertEquals(url.getParameter("weight"), "200");
+        }
+
+        {
+            String providerUrlV27 = "dubbo://172.24.160.179:21880/com.foo.BarService?application=foo&side=provider&weight=100";
+
+            URL providerConfiguratorUrl = URL.valueOf("absent://172.24.160.179:21880/com.foo.BarService");
+            Map<String, String> params = new HashMap<>();
+            params.put("side", "provider");
+            params.put("configVersion", "2.7");
+            params.put("application", "foo");
+            params.put("timeout", "20000");
+            params.put("weight", "200");
+            providerConfiguratorUrl = providerConfiguratorUrl.addParameters(params);
+            // Meet the configured conditions:
+            // same side
+            // same port
+            // The host of configuratorUrl is 0.0.0.0 or the host of providerConfiguratorUrl is the same as consumerUrlV27
+            // same appName
+            AbsentConfigurator configurator = new AbsentConfigurator(providerConfiguratorUrl);
+            URL url = configurator.configure(URL.valueOf(providerUrlV27));
+            Assertions.assertEquals(url.getParameter("timeout"), "20000");
+            Assertions.assertEquals(url.getParameter("weight"), "100");
+        }
+    }
+
 }
diff --git a/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/configurator/override/OverrideConfiguratorTest.java b/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/configurator/override/OverrideConfiguratorTest.java
index e289144..cad4e10 100644
--- a/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/configurator/override/OverrideConfiguratorTest.java
+++ b/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/configurator/override/OverrideConfiguratorTest.java
@@ -24,6 +24,9 @@ import org.apache.dubbo.rpc.cluster.configurator.consts.UrlConstant;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * OverrideConfiguratorTest
  */
@@ -65,4 +68,50 @@ public class OverrideConfiguratorTest {
         Assertions.assertEquals("1000", url.getParameter("timeout"));
     }
 
+    // Test the version after 2.7
+    @Test
+    public void testOverrideForVersion27() {
+        {
+            String consumerUrlV27 = "dubbo://172.24.160.179/com.foo.BarService?application=foo&side=consumer&timeout=100";
+
+            URL consumerConfiguratorUrl = URL.valueOf("override://0.0.0.0/com.foo.BarService");
+            Map<String, String> params = new HashMap<>();
+            params.put("side", "consumer");
+            params.put("configVersion", "2.7");
+            params.put("application", "foo");
+            params.put("timeout", "10000");
+            consumerConfiguratorUrl = consumerConfiguratorUrl.addParameters(params);
+
+            OverrideConfigurator configurator = new OverrideConfigurator(consumerConfiguratorUrl);
+            // Meet the configured conditions:
+            // same side
+            // The port of configuratorUrl is 0
+            // The host of configuratorUrl is 0.0.0.0 or the local address is the same as consumerUrlV27
+            // same appName
+            URL url = configurator.configure(URL.valueOf(consumerUrlV27));
+            Assertions.assertEquals(url.getParameter("timeout"), "10000");
+        }
+
+        {
+            String providerUrlV27 = "dubbo://172.24.160.179:21880/com.foo.BarService?application=foo&side=provider&weight=100";
+
+            URL providerConfiguratorUrl = URL.valueOf("override://172.24.160.179:21880/com.foo.BarService");
+            Map<String, String> params = new HashMap<>();
+            params.put("side", "provider");
+            params.put("configVersion", "2.7");
+            params.put("application", "foo");
+            params.put("weight", "200");
+            providerConfiguratorUrl = providerConfiguratorUrl.addParameters(params);
+            // Meet the configured conditions:
+            // same side
+            // same port
+            // The host of configuratorUrl is 0.0.0.0 or the host of providerConfiguratorUrl is the same as consumerUrlV27
+            // same appName
+            OverrideConfigurator configurator = new OverrideConfigurator(providerConfiguratorUrl);
+            URL url = configurator.configure(URL.valueOf(providerUrlV27));
+            Assertions.assertEquals(url.getParameter("weight"), "200");
+        }
+
+    }
+
 }