From a8dcb28e21ff1c5a2ae4a9fa766937b0fb055e6f Mon Sep 17 00:00:00 2001 From: xiuyuhang <442367943@qq.com> Date: Fri, 17 Aug 2018 15:54:16 +0800 Subject: [PATCH] optimize unit test --- .../cluster/loadbalance/LeastActiveBalanceTest.java | 12 ++++++------ .../rpc/cluster/loadbalance/LoadBalanceBaseTest.java | 6 ++++++ .../cluster/loadbalance/RandomLoadBalanceTest.java | 7 ++++--- .../loadbalance/RoundRobinLoadBalanceTest.java | 3 ++- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/loadbalance/LeastActiveBalanceTest.java b/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/loadbalance/LeastActiveBalanceTest.java index da063a9c7b8..a264a79a20f 100644 --- a/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/loadbalance/LeastActiveBalanceTest.java +++ b/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/loadbalance/LeastActiveBalanceTest.java @@ -16,6 +16,7 @@ */ package org.apache.dubbo.rpc.cluster.loadbalance; +import org.apache.dubbo.common.Constants; import org.apache.dubbo.common.URL; import org.apache.dubbo.rpc.Invocation; import org.apache.dubbo.rpc.Invoker; @@ -86,11 +87,10 @@ protected Invoker doSelect(List> invokers, URL url, Invocation for (int i = 0; i < length; i++) { Invoker invoker = invokers.get(i); - // mock active is invoker's url.getHost - int active = Integer.valueOf(invoker.getUrl().getHost()); // Active number + // Active number + int active = invoker.getUrl().getParameter("active", Constants.DEFAULT_WEIGHT); - // mock weight is invoker's url.getPort - int afterWarmup = invoker.getUrl().getPort(); + int afterWarmup = invoker.getUrl().getParameter(Constants.WEIGHT_KEY, Constants.DEFAULT_WEIGHT); if (leastActive == -1 || active < leastActive) { // Restart, when find a invoker having smaller least active value. leastActive = active; // Record the current least active value @@ -121,8 +121,8 @@ protected Invoker doSelect(List> invokers, URL url, Invocation for (int i = 0; i < leastCount; i++) { int leastIndex = leastIndexs[i]; - // mock weight is invoker's url.getPort - offsetWeight -= invokers.get(leastIndex).getUrl().getPort(); + offsetWeight -= invokers.get(leastIndex).getUrl().getParameter(Constants.WEIGHT_KEY, Constants.DEFAULT_WEIGHT); + if (offsetWeight <= 0) return invokers.get(leastIndex); } diff --git a/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/loadbalance/LoadBalanceBaseTest.java b/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/loadbalance/LoadBalanceBaseTest.java index 0a8bf2a9c6b..d7f5edcd66a 100644 --- a/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/loadbalance/LoadBalanceBaseTest.java +++ b/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/loadbalance/LoadBalanceBaseTest.java @@ -159,8 +159,14 @@ public void before() throws Exception { weightInvoker3 = mock(Invoker.class); URL url1 = URL.valueOf("test1://0:1/DemoService"); + url1 = url1.addParameter(Constants.WEIGHT_KEY, 1); + url1 = url1.addParameter("active", 0); URL url2 = URL.valueOf("test2://0:9/DemoService"); + url2 = url2.addParameter(Constants.WEIGHT_KEY, 9); + url2 = url2.addParameter("active", 0); URL url3 = URL.valueOf("test3://1:6/DemoService"); + url3 = url3.addParameter(Constants.WEIGHT_KEY, 6); + url3 = url3.addParameter("active", 1); given(weightInvoker1.isAvailable()).willReturn(true); given(weightInvoker1.getUrl()).willReturn(url1); diff --git a/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/loadbalance/RandomLoadBalanceTest.java b/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/loadbalance/RandomLoadBalanceTest.java index 3008caf8d96..a295b31085a 100644 --- a/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/loadbalance/RandomLoadBalanceTest.java +++ b/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/loadbalance/RandomLoadBalanceTest.java @@ -16,6 +16,7 @@ */ package org.apache.dubbo.rpc.cluster.loadbalance; +import org.apache.dubbo.common.Constants; import org.apache.dubbo.common.URL; import org.apache.dubbo.rpc.Invocation; import org.apache.dubbo.rpc.Invoker; @@ -103,11 +104,11 @@ protected Invoker doSelect(List> invokers, URL url, Invocation for (int i = 0; i < length; i++) { // mock weight - int weight = invokers.get(i).getUrl().getPort(); + int weight = invokers.get(i).getUrl().getParameter(Constants.WEIGHT_KEY, Constants.DEFAULT_WEIGHT); totalWeight += weight; // Sum if (sameWeight && i > 0 - && weight != invokers.get(i - 1).getUrl().getPort()) { + && weight != invokers.get(i - 1).getUrl().getParameter(Constants.WEIGHT_KEY, Constants.DEFAULT_WEIGHT)) { sameWeight = false; } } @@ -116,7 +117,7 @@ protected Invoker doSelect(List> invokers, URL url, Invocation int offset = random.nextInt(totalWeight); // Return a invoker based on the random value. for (int i = 0; i < length; i++) { - offset -= invokers.get(i).getUrl().getPort(); + offset -= invokers.get(i).getUrl().getParameter(Constants.WEIGHT_KEY, Constants.DEFAULT_WEIGHT); if (offset < 0) { return invokers.get(i); } diff --git a/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalanceTest.java b/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalanceTest.java index 4ab7dec142c..d7df6cb248f 100644 --- a/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalanceTest.java +++ b/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalanceTest.java @@ -16,6 +16,7 @@ */ package org.apache.dubbo.rpc.cluster.loadbalance; +import org.apache.dubbo.common.Constants; import org.apache.dubbo.common.URL; import org.apache.dubbo.common.utils.AtomicPositiveInteger; import org.apache.dubbo.rpc.Invocation; @@ -89,7 +90,7 @@ protected Invoker doSelect(List> invokers, URL url, Invocation int weightSum = 0; for (int i = 0; i < length; i++) { - int weight = invokers.get(i).getUrl().getPort(); + int weight = invokers.get(i).getUrl().getParameter(Constants.WEIGHT_KEY, Constants.DEFAULT_WEIGHT); maxWeight = Math.max(maxWeight, weight); // Choose the maximum weight minWeight = Math.min(minWeight, weight); // Choose the minimum weight