This is an automated email from the ASF dual-hosted git repository. wangxin pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
The following commit(s) were added to refs/heads/master by this push: new 2826666 Enchance test coverage of dubbo cluster module (#1885) 2826666 is described below commit 28266668d38424bf936e21d16e6f32c8750685b7 Author: Xin Wang <xin.victorw...@gmail.com> AuthorDate: Thu Jun 7 19:06:41 2018 +0800 Enchance test coverage of dubbo cluster module (#1885) * 修改测试 * modify test case of dubbo-cluster * update test * #1679 Enhance the test coverage part-1 : dubbo-cluster module * add asf header * add setup * add setup * add test case * fix test case * add ignore --- .../cluster/configurator/AbstractConfigurator.java | 4 - .../loadbalance/ConsistentHashLoadBalance.java | 1 + .../absent/AbsentConfiguratorTest.java | 27 +-- .../cluster/configurator/consts/UrlConstant.java | 31 +++ .../override/OverrideConfiguratorTest.java | 20 +- .../rpc/cluster/directory/MockDirInvocation.java | 66 ++++++ .../rpc/cluster/directory/StaticDirectoryTest.java | 65 ++++++ .../loadbalance/ConsistentHashLoadBalanceTest.java | 30 +-- .../loadbalance/LeastActiveBalanceTest.java | 42 ++++ .../cluster/loadbalance/LoadBalanceBaseTest.java | 148 ++++++++++++ .../rpc/cluster/loadbalance/LoadBalanceTest.java | 204 ---------------- .../cluster/loadbalance/RandomLoadBalanceTest.java | 57 +++++ .../loadbalance/RoundRobinLoadBalanceTest.java | 29 +-- .../dubbo/rpc/cluster/merger/ResultMergerTest.java | 257 +++++++++++++++++---- .../router/condition/ConditionRouterTest.java | 132 +++++------ .../cluster/router/file/FileRouterEngineTest.java | 2 +- .../cluster/router/script/ScriptRouterTest.java | 20 +- .../support/AbstractClusterInvokerTest.java | 2 +- .../support/FailSafeClusterInvokerTest.java | 2 +- .../support/FailbackClusterInvokerTest.java | 2 +- .../support/FailfastClusterInvokerTest.java | 2 +- .../cluster/support/ForkingClusterInvokerTest.java | 2 +- .../support/wrapper/MockClusterInvokerTest.java | 2 +- .../extensionloader/ExtensionLoaderTest.java | 2 +- .../ExtensionLoader_Adaptive_Test.java | 2 +- .../ext6_inject/impl/Ext6Impl1.java | 2 +- .../com/alibaba/dubbo/common/json/JSONTest.java | 2 +- .../alibaba/dubbo/config/ReferenceConfigTest.java | 2 +- .../com/alibaba/dubbo/config/url/UrlTestBase.java | 2 +- .../alibaba/dubbo/config/spring/ConfigTest.java | 2 +- .../support/AbstractRegistryFactoryTest.java | 2 +- .../remoting/buffer/DirectChannelBufferTest.java | 2 +- .../remoting/buffer/HeapChannelBufferTest.java | 2 +- .../dubbo/remoting/codec/ExchangeCodecTest.java | 2 +- .../dubbo/remoting/codec/TelnetCodecTest.java | 2 +- .../handler/ConnectChannelHandlerTest.java | 2 +- .../handler/WrappedChannelHandlerTest.java | 2 +- .../transport/mina/ClientToServerTest.java | 2 +- .../support/header/HeartbeatHandlerTest.java | 2 +- .../transport/netty/ClientToServerTest.java | 2 +- .../protocol/dubbo/DubboInvokerAvilableTest.java | 2 +- .../rpc/protocol/dubbo/DubboProtocolTest.java | 4 +- .../rpc/protocol/dubbo/ImplicitCallBackTest.java | 2 +- .../rpc/protocol/injvm/InjvmProtocolTest.java | 4 +- .../dubbo/rpc/protocol/rmi/RmiProtocolTest.java | 2 +- .../dubbo/examples/validation/ValidationTest.java | 2 +- 46 files changed, 784 insertions(+), 413 deletions(-) diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/AbstractConfigurator.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/AbstractConfigurator.java index a213375..42b688b 100644 --- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/AbstractConfigurator.java +++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/AbstractConfigurator.java @@ -40,10 +40,6 @@ public abstract class AbstractConfigurator implements Configurator { this.configuratorUrl = url; } - public static void main(String[] args) { - System.out.println(URL.encode("timeout=100")); - } - @Override public URL getUrl() { return configuratorUrl; diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalance.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalance.java index 595cec9..d65113b 100644 --- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalance.java +++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalance.java @@ -36,6 +36,7 @@ import java.util.concurrent.ConcurrentMap; * */ public class ConsistentHashLoadBalance extends AbstractLoadBalance { + public static final String NAME = "consistenthash"; private final ConcurrentMap<String, ConsistentHashSelector<?>> selectors = new ConcurrentHashMap<String, ConsistentHashSelector<?>>(); diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/absent/AbsentConfiguratorTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/absent/AbsentConfiguratorTest.java index e6d4107..7dc3eff 100644 --- a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/absent/AbsentConfiguratorTest.java +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/absent/AbsentConfiguratorTest.java @@ -18,49 +18,50 @@ package com.alibaba.dubbo.rpc.cluster.configurator.absent; import com.alibaba.dubbo.common.URL; import com.alibaba.dubbo.common.utils.NetUtils; +import com.alibaba.dubbo.rpc.cluster.configurator.consts.UrlConstant; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Test; /** * OverrideConfiguratorTest - * */ public class AbsentConfiguratorTest { + @Test - public void testOverride_Application() { + public void testOverrideApplication() { AbsentConfigurator configurator = new AbsentConfigurator(URL.valueOf("override://foo@0.0.0.0/com.foo.BarService?timeout=200")); - URL url = configurator.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&side=consumer")); + URL url = configurator.configure(URL.valueOf(UrlConstant.URL_CONSUMER)); Assert.assertEquals("200", url.getParameter("timeout")); - url = configurator.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&timeout=1000&side=consumer")); + url = configurator.configure(URL.valueOf(UrlConstant.URL_ONE)); Assert.assertEquals("1000", url.getParameter("timeout")); - url = configurator.configure(URL.valueOf("dubbo://10.20.153.11:20880/com.foo.BarService?application=bar&side=consumer")); + url = configurator.configure(URL.valueOf(UrlConstant.APPLICATION_BAR_SIDE_CONSUMER_11)); Assert.assertNull(url.getParameter("timeout")); - url = configurator.configure(URL.valueOf("dubbo://10.20.153.11:20880/com.foo.BarService?application=bar&timeout=1000&side=consumer")); + url = configurator.configure(URL.valueOf(UrlConstant.TIMEOUT_1000_SIDE_CONSUMER_11)); Assert.assertEquals("1000", url.getParameter("timeout")); } @Test - public void testOverride_Host() { + public void testOverrideHost() { AbsentConfigurator configurator = new AbsentConfigurator(URL.valueOf("override://" + NetUtils.getLocalHost() + "/com.foo.BarService?timeout=200")); - URL url = configurator.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&side=consumer")); + URL url = configurator.configure(URL.valueOf(UrlConstant.URL_CONSUMER)); Assert.assertEquals("200", url.getParameter("timeout")); - url = configurator.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&timeout=1000&side=consumer")); + url = configurator.configure(URL.valueOf(UrlConstant.URL_ONE)); Assert.assertEquals("1000", url.getParameter("timeout")); - AbsentConfigurator configurator1 = new AbsentConfigurator(URL.valueOf("override://10.20.153.10/com.foo.BarService?timeout=200")); + AbsentConfigurator configurator1 = new AbsentConfigurator(URL.valueOf(UrlConstant.SERVICE_TIMEOUT_200)); - url = configurator1.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=bar&side=consumer")); + url = configurator1.configure(URL.valueOf(UrlConstant.APPLICATION_BAR_SIDE_CONSUMER_10)); Assert.assertNull(url.getParameter("timeout")); - url = configurator1.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=bar&timeout=1000&side=consumer")); + url = configurator1.configure(URL.valueOf(UrlConstant.TIMEOUT_1000_SIDE_CONSUMER_10)); Assert.assertEquals("1000", url.getParameter("timeout")); } diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/consts/UrlConstant.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/consts/UrlConstant.java new file mode 100644 index 0000000..3f8e0ec --- /dev/null +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/consts/UrlConstant.java @@ -0,0 +1,31 @@ +/* + * 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 com.alibaba.dubbo.rpc.cluster.configurator.consts; + +/** + * test case url constant + */ +public class UrlConstant { + public static final String URL_CONSUMER = "dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&side=consumer"; + public static final String URL_ONE = "dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&timeout=1000&side=consumer"; + public static final String APPLICATION_BAR_SIDE_CONSUMER_11 = "dubbo://10.20.153.11:20880/com.foo.BarService?application=bar&side=consumer"; + public static final String TIMEOUT_1000_SIDE_CONSUMER_11 = "dubbo://10.20.153.11:20880/com.foo.BarService?application=bar&timeout=1000&side=consumer"; + public static final String SERVICE_TIMEOUT_200 = "override://10.20.153.10/com.foo.BarService?timeout=200"; + public static final String APPLICATION_BAR_SIDE_CONSUMER_10 = "dubbo://10.20.153.10:20880/com.foo.BarService?application=bar&side=consumer"; + public static final String TIMEOUT_1000_SIDE_CONSUMER_10 = "dubbo://10.20.153.10:20880/com.foo.BarService?application=bar&timeout=1000&side=consumer"; + +} diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/override/OverrideConfiguratorTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/override/OverrideConfiguratorTest.java index 3e62443..ada9d7e 100644 --- a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/override/OverrideConfiguratorTest.java +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/override/OverrideConfiguratorTest.java @@ -19,13 +19,13 @@ package com.alibaba.dubbo.rpc.cluster.configurator.override; import com.alibaba.dubbo.common.URL; import com.alibaba.dubbo.common.utils.NetUtils; import com.alibaba.dubbo.rpc.cluster.configurator.absent.AbsentConfigurator; +import com.alibaba.dubbo.rpc.cluster.configurator.consts.UrlConstant; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Test; /** * OverrideConfiguratorTest - * */ public class OverrideConfiguratorTest { @@ -33,16 +33,16 @@ public class OverrideConfiguratorTest { public void testOverride_Application() { OverrideConfigurator configurator = new OverrideConfigurator(URL.valueOf("override://foo@0.0.0.0/com.foo.BarService?timeout=200")); - URL url = configurator.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&side=consumer")); + URL url = configurator.configure(URL.valueOf(UrlConstant.URL_CONSUMER)); Assert.assertEquals("200", url.getParameter("timeout")); - url = configurator.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&timeout=1000&side=consumer")); + url = configurator.configure(URL.valueOf(UrlConstant.URL_ONE)); Assert.assertEquals("200", url.getParameter("timeout")); - url = configurator.configure(URL.valueOf("dubbo://10.20.153.11:20880/com.foo.BarService?application=bar&side=consumer")); + url = configurator.configure(URL.valueOf(UrlConstant.APPLICATION_BAR_SIDE_CONSUMER_11)); Assert.assertNull(url.getParameter("timeout")); - url = configurator.configure(URL.valueOf("dubbo://10.20.153.11:20880/com.foo.BarService?application=bar&timeout=1000&side=consumer")); + url = configurator.configure(URL.valueOf(UrlConstant.TIMEOUT_1000_SIDE_CONSUMER_11)); Assert.assertEquals("1000", url.getParameter("timeout")); } @@ -50,18 +50,18 @@ public class OverrideConfiguratorTest { public void testOverride_Host() { OverrideConfigurator configurator = new OverrideConfigurator(URL.valueOf("override://" + NetUtils.getLocalHost() + "/com.foo.BarService?timeout=200")); - URL url = configurator.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&side=consumer")); + URL url = configurator.configure(URL.valueOf(UrlConstant.URL_CONSUMER)); Assert.assertEquals("200", url.getParameter("timeout")); - url = configurator.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&timeout=1000&side=consumer")); + url = configurator.configure(URL.valueOf(UrlConstant.URL_ONE)); Assert.assertEquals("200", url.getParameter("timeout")); AbsentConfigurator configurator1 = new AbsentConfigurator(URL.valueOf("override://10.20.153.10/com.foo.BarService?timeout=200")); - url = configurator1.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=bar&side=consumer")); + url = configurator1.configure(URL.valueOf(UrlConstant.APPLICATION_BAR_SIDE_CONSUMER_10)); Assert.assertNull(url.getParameter("timeout")); - url = configurator1.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=bar&timeout=1000&side=consumer")); + url = configurator1.configure(URL.valueOf(UrlConstant.TIMEOUT_1000_SIDE_CONSUMER_10)); Assert.assertEquals("1000", url.getParameter("timeout")); } diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/directory/MockDirInvocation.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/directory/MockDirInvocation.java new file mode 100644 index 0000000..4c900fb --- /dev/null +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/directory/MockDirInvocation.java @@ -0,0 +1,66 @@ +/* + * 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 com.alibaba.dubbo.rpc.cluster.directory; + +import com.alibaba.dubbo.common.Constants; +import com.alibaba.dubbo.rpc.Invocation; +import com.alibaba.dubbo.rpc.Invoker; + +import java.util.HashMap; +import java.util.Map; + +/** + * MockInvocation.java + */ +public class MockDirInvocation implements Invocation { + + public String getMethodName() { + return "echo"; + } + + public Class<?>[] getParameterTypes() { + return new Class[]{String.class}; + } + + public Object[] getArguments() { + return new Object[]{"aa"}; + } + + public Map<String, String> getAttachments() { + Map<String, String> attachments = new HashMap<String, String>(); + attachments.put(Constants.PATH_KEY, "dubbo"); + attachments.put(Constants.GROUP_KEY, "dubbo"); + attachments.put(Constants.VERSION_KEY, "1.0.0"); + attachments.put(Constants.DUBBO_VERSION_KEY, "1.0.0"); + attachments.put(Constants.TOKEN_KEY, "sfag"); + attachments.put(Constants.TIMEOUT_KEY, "1000"); + return attachments; + } + + public Invoker<?> getInvoker() { + return null; + } + + public String getAttachment(String key) { + return getAttachments().get(key); + } + + public String getAttachment(String key, String defaultValue) { + return getAttachments().get(key); + } + +} \ No newline at end of file diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/directory/StaticDirectoryTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/directory/StaticDirectoryTest.java new file mode 100644 index 0000000..29839b2 --- /dev/null +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/directory/StaticDirectoryTest.java @@ -0,0 +1,65 @@ +/* + * 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 com.alibaba.dubbo.rpc.cluster.directory; + +import com.alibaba.dubbo.common.Constants; +import com.alibaba.dubbo.common.URL; +import com.alibaba.dubbo.common.utils.NetUtils; +import com.alibaba.dubbo.rpc.Invoker; +import com.alibaba.dubbo.rpc.RpcInvocation; +import com.alibaba.dubbo.rpc.cluster.Router; +import com.alibaba.dubbo.rpc.cluster.router.MockInvoker; +import com.alibaba.dubbo.rpc.cluster.router.condition.ConditionRouterFactory; + +import org.junit.Assert; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.List; + +/** + * StaticDirectory Test + */ +public class StaticDirectoryTest { + private URL SCRIPT_URL = URL.valueOf("condition://0.0.0.0/com.foo.BarService"); + + private URL getRouteUrl(String rule) { + return SCRIPT_URL.addParameterAndEncoded(Constants.RULE_KEY, rule); + } + + @Test + public void testStaticDirectory() { + Router router = new ConditionRouterFactory().getRouter(getRouteUrl(" => " + " host = " + NetUtils.getLocalHost())); + List<Router> routers = new ArrayList<Router>(); + routers.add(router); + List<Invoker<String>> invokers = new ArrayList<Invoker<String>>(); + Invoker<String> invoker1 = new MockInvoker<String>(URL.valueOf("dubbo://10.20.3.3:20880/com.foo.BarService")); + Invoker<String> invoker2 = new MockInvoker<String>(URL.valueOf("dubbo://" + NetUtils.getLocalHost() + ":20880/com.foo.BarService")); + Invoker<String> invoker3 = new MockInvoker<String>(URL.valueOf("dubbo://" + NetUtils.getLocalHost() + ":20880/com.foo.BarService")); + invokers.add(invoker1); + invokers.add(invoker2); + invokers.add(invoker3); + List<Invoker<String>> filteredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + StaticDirectory staticDirectory = new StaticDirectory(filteredInvokers); + Boolean isAvailable = staticDirectory.isAvailable(); + Assert.assertTrue(!isAvailable); + List<Invoker> newInvokers = staticDirectory.list(new MockDirInvocation()); + Assert.assertTrue(newInvokers.size() > 0); + staticDirectory.destroy(); + Assert.assertTrue(newInvokers.size() == 0); + } +} diff --git a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalanceTest.java similarity index 51% copy from dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferTest.java copy to dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalanceTest.java index ff623ef..4cfaffb 100644 --- a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferTest.java +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalanceTest.java @@ -14,23 +14,27 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.alibaba.dubbo.remoting.buffer; +package com.alibaba.dubbo.rpc.cluster.loadbalance; -import junit.framework.Assert; +import com.alibaba.dubbo.rpc.Invoker; -public class DirectChannelBufferTest extends AbstractChannelBufferTest { +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; - private ChannelBuffer buffer; +import java.util.Map; +import java.util.concurrent.atomic.AtomicLong; - @Override - protected ChannelBuffer newBuffer(int capacity) { - buffer = ChannelBuffers.directBuffer(capacity); - Assert.assertEquals(0, buffer.writerIndex()); - return buffer; +public class ConsistentHashLoadBalanceTest extends LoadBalanceBaseTest { + @Ignore + @Test + public void testConsistentHashLoadBalance() { + int runs = 10000; + Map<Invoker, AtomicLong> counter = getInvokeCounter(runs, ConsistentHashLoadBalance.NAME); + for (Invoker minvoker : counter.keySet()) { + Long count = counter.get(minvoker).get(); + Assert.assertTrue("abs diff should < avg", Math.abs(count - runs / (0f + invokers.size())) < runs / (0f + invokers.size())); + } } - @Override - protected ChannelBuffer[] components() { - return new ChannelBuffer[]{buffer}; - } } diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LeastActiveBalanceTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LeastActiveBalanceTest.java new file mode 100644 index 0000000..4d82c86 --- /dev/null +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LeastActiveBalanceTest.java @@ -0,0 +1,42 @@ +/* + * 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 com.alibaba.dubbo.rpc.cluster.loadbalance; + +import com.alibaba.dubbo.rpc.Invoker; + +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + +import java.util.Map; +import java.util.concurrent.atomic.AtomicLong; + +public class LeastActiveBalanceTest extends LoadBalanceBaseTest { + @Ignore + @Test + public void testLeastActiveLoadBalance_select() { + int runs = 10000; + Map<Invoker, AtomicLong> counter = getInvokeCounter(runs, LeastActiveLoadBalance.NAME); + for (Invoker minvoker : counter.keySet()) { + Long count = counter.get(minvoker).get(); + // System.out.println(count); + Assert.assertTrue("abs diff shoud < avg", + Math.abs(count - runs / (0f + invokers.size())) < runs / (0f + invokers.size())); + } + } + +} diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LoadBalanceBaseTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LoadBalanceBaseTest.java new file mode 100644 index 0000000..e7a22c5 --- /dev/null +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LoadBalanceBaseTest.java @@ -0,0 +1,148 @@ +/* + * 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 com.alibaba.dubbo.rpc.cluster.loadbalance; + +import com.alibaba.dubbo.common.Constants; +import com.alibaba.dubbo.common.URL; +import com.alibaba.dubbo.common.extension.ExtensionLoader; +import com.alibaba.dubbo.rpc.Invocation; +import com.alibaba.dubbo.rpc.Invoker; +import com.alibaba.dubbo.rpc.cluster.LoadBalance; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicLong; + +import static org.mockito.BDDMockito.given; +import static org.mockito.Mockito.mock; + +/** + * RoundRobinLoadBalanceTest + */ +@SuppressWarnings({"unchecked", "rawtypes"}) +public class LoadBalanceBaseTest { + Invocation invocation; + List<Invoker<LoadBalanceBaseTest>> invokers = new ArrayList<Invoker<LoadBalanceBaseTest>>(); + Invoker<LoadBalanceBaseTest> invoker1; + Invoker<LoadBalanceBaseTest> invoker2; + Invoker<LoadBalanceBaseTest> invoker3; + Invoker<LoadBalanceBaseTest> invoker4; + Invoker<LoadBalanceBaseTest> invoker5; + + /** + * @throws java.lang.Exception + */ + @BeforeClass + public static void setUpBeforeClass() throws Exception { + } + + /** + * @throws java.lang.Exception + */ + @Before + public void setUp() throws Exception { + + invocation = mock(Invocation.class); + given(invocation.getMethodName()).willReturn("method1"); + + invoker1 = mock(Invoker.class); + invoker2 = mock(Invoker.class); + invoker3 = mock(Invoker.class); + invoker4 = mock(Invoker.class); + invoker5 = mock(Invoker.class); + + URL url1 = URL.valueOf("test://127.0.0.1:1/DemoService"); + URL url2 = URL.valueOf("test://127.0.0.1:2/DemoService"); + URL url3 = URL.valueOf("test://127.0.0.1:3/DemoService"); + URL url4 = URL.valueOf("test://127.0.0.1:4/DemoService"); + URL url5 = URL.valueOf("test://127.0.0.1:5/DemoService"); + + given(invoker1.isAvailable()).willReturn(true); + given(invoker1.getInterface()).willReturn(LoadBalanceBaseTest.class); + given(invoker1.getUrl()).willReturn(url1); + + given(invoker2.isAvailable()).willReturn(true); + given(invoker2.getInterface()).willReturn(LoadBalanceBaseTest.class); + given(invoker2.getUrl()).willReturn(url2); + + given(invoker3.isAvailable()).willReturn(true); + given(invoker3.getInterface()).willReturn(LoadBalanceBaseTest.class); + given(invoker3.getUrl()).willReturn(url3); + + given(invoker4.isAvailable()).willReturn(true); + given(invoker4.getInterface()).willReturn(LoadBalanceBaseTest.class); + given(invoker4.getUrl()).willReturn(url4); + + given(invoker5.isAvailable()).willReturn(true); + given(invoker5.getInterface()).willReturn(LoadBalanceBaseTest.class); + given(invoker5.getUrl()).willReturn(url5); + + invokers.add(invoker1); + invokers.add(invoker2); + invokers.add(invoker3); + invokers.add(invoker4); + invokers.add(invoker5); + } + + public Map<Invoker, AtomicLong> getInvokeCounter(int runs, String loadbalanceName) { + Map<Invoker, AtomicLong> counter = new ConcurrentHashMap<Invoker, AtomicLong>(); + LoadBalance lb = ExtensionLoader.getExtensionLoader(LoadBalance.class).getExtension(loadbalanceName); + for (Invoker invoker : invokers) { + counter.put(invoker, new AtomicLong(0)); + } + for (int i = 0; i < runs; i++) { + Invoker sinvoker = lb.select(invokers, invokers.get(0).getUrl(), invocation); + counter.get(sinvoker).incrementAndGet(); + } + return counter; + } + + @Test + public void testLoadBalanceWarmup() { + Assert.assertEquals(1, calculateDefaultWarmupWeight(0)); + Assert.assertEquals(1, calculateDefaultWarmupWeight(13)); + Assert.assertEquals(1, calculateDefaultWarmupWeight(6 * 1000)); + Assert.assertEquals(2, calculateDefaultWarmupWeight(12 * 1000)); + Assert.assertEquals(10, calculateDefaultWarmupWeight(60 * 1000)); + Assert.assertEquals(50, calculateDefaultWarmupWeight(5 * 60 * 1000)); + Assert.assertEquals(50, calculateDefaultWarmupWeight(5 * 60 * 1000 + 23)); + Assert.assertEquals(50, calculateDefaultWarmupWeight(5 * 60 * 1000 + 5999)); + Assert.assertEquals(51, calculateDefaultWarmupWeight(5 * 60 * 1000 + 6000)); + Assert.assertEquals(90, calculateDefaultWarmupWeight(9 * 60 * 1000)); + Assert.assertEquals(98, calculateDefaultWarmupWeight(10 * 60 * 1000 - 12 * 1000)); + Assert.assertEquals(99, calculateDefaultWarmupWeight(10 * 60 * 1000 - 6 * 1000)); + Assert.assertEquals(100, calculateDefaultWarmupWeight(10 * 60 * 1000)); + Assert.assertEquals(100, calculateDefaultWarmupWeight(20 * 60 * 1000)); + } + + /** + * handle default data + * + * @return + */ + private static int calculateDefaultWarmupWeight(int uptime) { + return AbstractLoadBalance.calculateWarmupWeight(uptime, Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT); + } + +} \ No newline at end of file diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LoadBalanceTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LoadBalanceTest.java deleted file mode 100644 index 442b108..0000000 --- a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LoadBalanceTest.java +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.rpc.cluster.loadbalance; - -import com.alibaba.dubbo.common.Constants; -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.extension.ExtensionLoader; -import com.alibaba.dubbo.rpc.Invocation; -import com.alibaba.dubbo.rpc.Invoker; -import com.alibaba.dubbo.rpc.RpcStatus; -import com.alibaba.dubbo.rpc.cluster.LoadBalance; - -import junit.framework.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicLong; - -import static org.mockito.BDDMockito.given; -import static org.mockito.Mockito.mock; - -/** - * RoundRobinLoadBalanceTest - * - */ -@SuppressWarnings({"unchecked", "rawtypes"}) -public class LoadBalanceTest { - Invocation invocation; - List<Invoker<LoadBalanceTest>> invokers = new ArrayList<Invoker<LoadBalanceTest>>(); - Invoker<LoadBalanceTest> invoker1; - Invoker<LoadBalanceTest> invoker2; - Invoker<LoadBalanceTest> invoker3; - Invoker<LoadBalanceTest> invoker4; - Invoker<LoadBalanceTest> invoker5; - - /** - * @throws java.lang.Exception - */ - @BeforeClass - public static void setUpBeforeClass() throws Exception { - } - - /** - * @throws java.lang.Exception - */ - @Before - public void setUp() throws Exception { - - invocation = mock(Invocation.class); - given(invocation.getMethodName()).willReturn("method1"); - - invoker1 = mock(Invoker.class); - invoker2 = mock(Invoker.class); - invoker3 = mock(Invoker.class); - invoker4 = mock(Invoker.class); - invoker5 = mock(Invoker.class); - - URL url1 = URL.valueOf("test://127.0.0.1:1/DemoService"); - URL url2 = URL.valueOf("test://127.0.0.1:2/DemoService"); - URL url3 = URL.valueOf("test://127.0.0.1:3/DemoService"); - URL url4 = URL.valueOf("test://127.0.0.1:4/DemoService"); - URL url5 = URL.valueOf("test://127.0.0.1:5/DemoService"); - - given(invoker1.isAvailable()).willReturn(true); - given(invoker1.getInterface()).willReturn(LoadBalanceTest.class); - given(invoker1.getUrl()).willReturn(url1); - - given(invoker2.isAvailable()).willReturn(true); - given(invoker2.getInterface()).willReturn(LoadBalanceTest.class); - given(invoker2.getUrl()).willReturn(url2); - - given(invoker3.isAvailable()).willReturn(true); - given(invoker3.getInterface()).willReturn(LoadBalanceTest.class); - given(invoker3.getUrl()).willReturn(url3); - - given(invoker4.isAvailable()).willReturn(true); - given(invoker4.getInterface()).willReturn(LoadBalanceTest.class); - given(invoker4.getUrl()).willReturn(url4); - - given(invoker5.isAvailable()).willReturn(true); - given(invoker5.getInterface()).willReturn(LoadBalanceTest.class); - given(invoker5.getUrl()).willReturn(url5); - - invokers.add(invoker1); - invokers.add(invoker2); - invokers.add(invoker3); - invokers.add(invoker4); - invokers.add(invoker5); - } - - @Test - public void testRoundRobinLoadBalance_select() { - int runs = 10000; - Map<Invoker, AtomicLong> counter = getInvokeCounter(runs, RoundRobinLoadBalance.NAME); - for (Invoker minvoker : counter.keySet()) { - Long count = counter.get(minvoker).get(); - Assert.assertTrue("abs diff shoud < 1", Math.abs(count - runs / (0f + invokers.size())) < 1f); - } - } - - @Test - public void testRandomLoadBalance_select() { - int runs = 1000; - Map<Invoker, AtomicLong> counter = getInvokeCounter(runs, RandomLoadBalance.NAME); - for (Invoker minvoker : counter.keySet()) { - Long count = counter.get(minvoker).get(); - // System.out.println(count); - Assert.assertTrue("abs diff shoud < avg", - Math.abs(count - runs / (0f + invokers.size())) < runs / (0f + invokers.size())); - } - - for (int i = 0; i < 5; i++) { - for (int j = 0; j <= i; j++) { - RpcStatus.beginCount(invokers.get(i).getUrl(), invocation.getMethodName()); - } - } - counter = getInvokeCounter(runs, LeastActiveLoadBalance.NAME); - for (Invoker minvoker : counter.keySet()) { - Long count = counter.get(minvoker).get(); - } - Assert.assertEquals(runs, counter.get(invoker1).intValue()); - Assert.assertEquals(0, counter.get(invoker2).intValue()); - Assert.assertEquals(0, counter.get(invoker3).intValue()); - Assert.assertEquals(0, counter.get(invoker4).intValue()); - Assert.assertEquals(0, counter.get(invoker5).intValue()); - } - - @Test - public void testLeastActiveLoadBalance_select() { - int runs = 10000; - Map<Invoker, AtomicLong> counter = getInvokeCounter(runs, LeastActiveLoadBalance.NAME); - for (Invoker minvoker : counter.keySet()) { - Long count = counter.get(minvoker).get(); - // System.out.println(count); - Assert.assertTrue("abs diff shoud < avg", - Math.abs(count - runs / (0f + invokers.size())) < runs / (0f + invokers.size())); - } - } - - public Map<Invoker, AtomicLong> getInvokeCounter(int runs, String loadbalanceName) { - Map<Invoker, AtomicLong> counter = new ConcurrentHashMap<Invoker, AtomicLong>(); - LoadBalance lb = ExtensionLoader.getExtensionLoader(LoadBalance.class).getExtension(loadbalanceName); - for (Invoker invoker : invokers) { - counter.put(invoker, new AtomicLong(0)); - } - for (int i = 0; i < runs; i++) { - Invoker sinvoker = lb.select(invokers, invokers.get(0).getUrl(), invocation); - counter.get(sinvoker).incrementAndGet(); - } - return counter; - } - - @Test - public void testLoadBalanceWarmup() { - Assert.assertEquals(1, - AbstractLoadBalance.calculateWarmupWeight(0, Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT)); - Assert.assertEquals(1, - AbstractLoadBalance.calculateWarmupWeight(13, Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT)); - Assert.assertEquals(1, - AbstractLoadBalance.calculateWarmupWeight(6 * 1000, Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT)); - Assert.assertEquals(2, - AbstractLoadBalance.calculateWarmupWeight(12 * 1000, Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT)); - Assert.assertEquals(10, - AbstractLoadBalance.calculateWarmupWeight(60 * 1000, Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT)); - Assert.assertEquals(50, AbstractLoadBalance - .calculateWarmupWeight(5 * 60 * 1000, Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT)); - Assert.assertEquals(50, AbstractLoadBalance - .calculateWarmupWeight(5 * 60 * 1000 + 23, Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT)); - Assert.assertEquals(50, AbstractLoadBalance - .calculateWarmupWeight(5 * 60 * 1000 + 5999, Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT)); - Assert.assertEquals(51, AbstractLoadBalance - .calculateWarmupWeight(5 * 60 * 1000 + 6000, Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT)); - Assert.assertEquals(90, AbstractLoadBalance - .calculateWarmupWeight(9 * 60 * 1000, Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT)); - Assert.assertEquals(98, AbstractLoadBalance - .calculateWarmupWeight(10 * 60 * 1000 - 12 * 1000, Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT)); - Assert.assertEquals(99, AbstractLoadBalance - .calculateWarmupWeight(10 * 60 * 1000 - 6 * 1000, Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT)); - Assert.assertEquals(100, AbstractLoadBalance - .calculateWarmupWeight(10 * 60 * 1000, Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT)); - Assert.assertEquals(100, AbstractLoadBalance - .calculateWarmupWeight(20 * 60 * 1000, Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT)); - } - -} \ No newline at end of file diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RandomLoadBalanceTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RandomLoadBalanceTest.java new file mode 100644 index 0000000..a49dfda --- /dev/null +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RandomLoadBalanceTest.java @@ -0,0 +1,57 @@ +/* + * 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 com.alibaba.dubbo.rpc.cluster.loadbalance; + +import com.alibaba.dubbo.rpc.Invoker; +import com.alibaba.dubbo.rpc.RpcStatus; + +import org.junit.Assert; +import org.junit.Test; + +import java.util.Map; +import java.util.concurrent.atomic.AtomicLong; + +/** + * RandomLoadBalance Test + */ +public class RandomLoadBalanceTest extends LoadBalanceBaseTest { + @Test + public void testRandomLoadBalanceSelect() { + int runs = 1000; + Map<Invoker, AtomicLong> counter = getInvokeCounter(runs, RandomLoadBalance.NAME); + for (Invoker minvoker : counter.keySet()) { + Long count = counter.get(minvoker).get(); + Assert.assertTrue("abs diff should < avg", Math.abs(count - runs / (0f + invokers.size())) < runs / (0f + invokers.size())); + } + + for (int i = 0; i < 5; i++) { + for (int j = 0; j <= i; j++) { + RpcStatus.beginCount(invokers.get(i).getUrl(), invocation.getMethodName()); + } + } + counter = getInvokeCounter(runs, LeastActiveLoadBalance.NAME); + for (Invoker minvoker : counter.keySet()) { + Long count = counter.get(minvoker).get(); + } + Assert.assertEquals(runs, counter.get(invoker1).intValue()); + Assert.assertEquals(0, counter.get(invoker2).intValue()); + Assert.assertEquals(0, counter.get(invoker3).intValue()); + Assert.assertEquals(0, counter.get(invoker4).intValue()); + Assert.assertEquals(0, counter.get(invoker5).intValue()); + } + +} diff --git a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalanceTest.java similarity index 54% copy from dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferTest.java copy to dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalanceTest.java index ff623ef..ffc4e6c 100644 --- a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferTest.java +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalanceTest.java @@ -14,23 +14,24 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.alibaba.dubbo.remoting.buffer; +package com.alibaba.dubbo.rpc.cluster.loadbalance; -import junit.framework.Assert; +import com.alibaba.dubbo.rpc.Invoker; -public class DirectChannelBufferTest extends AbstractChannelBufferTest { +import org.junit.Assert; +import org.junit.Test; - private ChannelBuffer buffer; +import java.util.Map; +import java.util.concurrent.atomic.AtomicLong; - @Override - protected ChannelBuffer newBuffer(int capacity) { - buffer = ChannelBuffers.directBuffer(capacity); - Assert.assertEquals(0, buffer.writerIndex()); - return buffer; - } - - @Override - protected ChannelBuffer[] components() { - return new ChannelBuffer[]{buffer}; +public class RoundRobinLoadBalanceTest extends LoadBalanceBaseTest { + @Test + public void testRoundRobinLoadBalanceSelect() { + int runs = 10000; + Map<Invoker, AtomicLong> counter = getInvokeCounter(runs, RoundRobinLoadBalance.NAME); + for (Invoker minvoker : counter.keySet()) { + Long count = counter.get(minvoker).get(); + Assert.assertTrue("abs diff should < 1", Math.abs(count - runs / (0f + invokers.size())) < 1f); + } } } diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/merger/ResultMergerTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/merger/ResultMergerTest.java index 481a97f..cede590 100644 --- a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/merger/ResultMergerTest.java +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/merger/ResultMergerTest.java @@ -21,35 +21,224 @@ import org.junit.Test; import java.lang.reflect.Array; import java.util.ArrayList; +import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; public class ResultMergerTest { + /** + * ArrayMerger test + * + * @throws Exception + */ + @Test + public void testArrayMerger() throws Exception { + String[] stringArray1 = {"1", "2", "3"}; + String[] stringArray2 = {"4", "5", "6"}; + String[] stringArray3 = {}; + + Object result = ArrayMerger.INSTANCE.merge(stringArray1, stringArray2, stringArray3); + Assert.assertTrue(result.getClass().isArray()); + Assert.assertEquals(6, Array.getLength(result)); + Assert.assertTrue(String.class.isInstance(Array.get(result, 0))); + for (int i = 0; i < 6; i++) { + Assert.assertEquals(String.valueOf(i + 1), Array.get(result, i)); + } + + int[] intArray1 = {1, 2, 3}; + int[] intArray2 = {4, 5, 6}; + int[] intArray3 = {7}; + result = MergerFactory.getMerger(int[].class).merge(intArray1, intArray2, intArray3); + Assert.assertTrue(result.getClass().isArray()); + Assert.assertEquals(7, Array.getLength(result)); + Assert.assertTrue(int.class == result.getClass().getComponentType()); + for (int i = 0; i < 7; i++) { + Assert.assertEquals(i + 1, Array.get(result, i)); + } + + } + + /** + * BooleanArrayMerger test + * + * @throws Exception + */ + @Test + public void testBooleanArrayMerger() throws Exception { + boolean[] arrayOne = {true, false}; + boolean[] arrayTwo = {false}; + boolean[] result = MergerFactory.getMerger(boolean[].class).merge(arrayOne, arrayTwo); + Assert.assertEquals(3, result.length); + boolean[] mergedResult = {true, false, false}; + for (int i = 0; i < mergedResult.length; i++) { + Assert.assertEquals(mergedResult[i], result[i]); + } + } + + /** + * ByteArrayMerger test + * + * @throws Exception + */ + @Test + public void testByteArrayMerger() throws Exception { + byte[] arrayOne = {1, 2}; + byte[] arrayTwo = {1, 32}; + byte[] result = MergerFactory.getMerger(byte[].class).merge(arrayOne, arrayTwo); + Assert.assertEquals(4, result.length); + byte[] mergedResult = {1, 2, 1, 32}; + for (int i = 0; i < mergedResult.length; i++) { + Assert.assertEquals(mergedResult[i], result[i]); + } + } + + /** + * CharArrayMerger test + * + * @throws Exception + */ + @Test + public void testCharArrayMerger() throws Exception { + char[] arrayOne = "hello".toCharArray(); + char[] arrayTwo = "world".toCharArray(); + char[] result = MergerFactory.getMerger(char[].class).merge(arrayOne, arrayTwo); + Assert.assertEquals(10, result.length); + char[] mergedResult = "helloworld".toCharArray(); + for (int i = 0; i < mergedResult.length; i++) { + Assert.assertEquals(mergedResult[i], result[i]); + } + } + + /** + * DoubleArrayMerger test + * + * @throws Exception + */ + @Test + public void testDoubleArrayMerger() throws Exception { + double[] arrayOne = {1.2d, 3.5d}; + double[] arrayTwo = {2d, 34d}; + double[] result = MergerFactory.getMerger(double[].class).merge(arrayOne, arrayTwo); + Assert.assertEquals(4, result.length); + double[] mergedResult = {1.2d, 3.5d, 2d, 34d}; + for (int i = 0; i < mergedResult.length; i++) { + Assert.assertTrue(mergedResult[i] == result[i]); + } + } + + /** + * FloatArrayMerger test + * + * @throws Exception + */ + @Test + public void testFloatArrayMerger() throws Exception { + float[] arrayOne = {1.2f, 3.5f}; + float[] arrayTwo = {2f, 34f}; + float[] result = MergerFactory.getMerger(float[].class).merge(arrayOne, arrayTwo); + Assert.assertEquals(4, result.length); + double[] mergedResult = {1.2f, 3.5f, 2f, 34f}; + for (int i = 0; i < mergedResult.length; i++) { + Assert.assertTrue(mergedResult[i] == result[i]); + } + } + + /** + * IntArrayMerger test + * + * @throws Exception + */ + @Test + public void testIntArrayMerger() throws Exception { + int[] arrayOne = {1, 2}; + int[] arrayTwo = {2, 34}; + int[] result = MergerFactory.getMerger(int[].class).merge(arrayOne, arrayTwo); + Assert.assertEquals(4, result.length); + double[] mergedResult = {1, 2, 2, 34}; + for (int i = 0; i < mergedResult.length; i++) { + Assert.assertTrue(mergedResult[i] == result[i]); + } + } + /** + * ListMerger test + * + * @throws Exception + */ @Test public void testListMerger() throws Exception { - List<Object> list1 = new ArrayList<Object>(); - list1.add(null); - list1.add("1"); - list1.add("2"); - List<Object> list2 = new ArrayList<Object>(); - list2.add("3"); - list2.add("4"); + List<Object> list1 = new ArrayList<Object>(){{ + add(null); + add("1"); + add("2"); + }}; + List<Object> list2 = new ArrayList<Object>(){{ + add("3"); + add("4"); + }}; List result = MergerFactory.getMerger(List.class).merge(list1, list2); Assert.assertEquals(5, result.size()); - Assert.assertEquals(new ArrayList<String>() { - { - add(null); - add("1"); - add("2"); - add("3"); - add("4"); - } - }, result); + ArrayList<String> expected = new ArrayList<String>() {{ + add(null); + add("1"); + add("2"); + add("3"); + add("4"); + }}; + Assert.assertEquals(expected, result); + } + + /** + * LongArrayMerger test + * + * @throws Exception + */ + @Test + public void testMapArrayMerger() throws Exception { + Map<Object, Object> mapOne = new HashMap() {{ + put("11", 222); + put("223", 11); + }}; + Map<Object, Object> mapTwo = new HashMap() {{ + put("3333", 3232); + put("444", 2323); + }}; + Map<Object, Object> result = MergerFactory.getMerger(Map.class).merge(mapOne, mapTwo); + Assert.assertEquals(4, result.size()); + Map<Object, Object> mergedResult = new HashMap() {{ + put("11", 222); + put("223", 11); + put("3333", 3232); + put("444", 2323); + }}; + Assert.assertEquals(mergedResult, result); } + /** + * LongArrayMerger test + * + * @throws Exception + */ + @Test + public void testLongArrayMerger() throws Exception { + long[] arrayOne = {1l, 2l}; + long[] arrayTwo = {2l, 34l}; + long[] result = MergerFactory.getMerger(long[].class).merge(arrayOne, arrayTwo); + Assert.assertEquals(4, result.length); + double[] mergedResult = {1l, 2l, 2l, 34l}; + for (int i = 0; i < mergedResult.length; i++) { + Assert.assertTrue(mergedResult[i] == result[i]); + } + } + + /** + * SetMerger test + * + * @throws Exception + */ @Test public void testSetMerger() throws Exception { Set<Object> set1 = new HashSet<Object>(); @@ -73,30 +262,20 @@ public class ResultMergerTest { }, result); } + /** + * ShortArrayMerger test + * + * @throws Exception + */ @Test - public void testArrayMerger() throws Exception { - String[] stringArray1 = {"1", "2", "3"}; - String[] stringArray2 = {"4", "5", "6"}; - String[] stringArray3 = {}; - - Object result = ArrayMerger.INSTANCE.merge(stringArray1, stringArray2, stringArray3); - Assert.assertTrue(result.getClass().isArray()); - Assert.assertEquals(6, Array.getLength(result)); - Assert.assertTrue(String.class.isInstance(Array.get(result, 0))); - for (int i = 0; i < 6; i++) { - Assert.assertEquals(String.valueOf(i + 1), Array.get(result, i)); - } - - int[] intArray1 = {1, 2, 3}; - int[] intArray2 = {4, 5, 6}; - int[] intArray3 = {7}; - result = MergerFactory.getMerger(int[].class).merge(intArray1, intArray2, intArray3); - Assert.assertTrue(result.getClass().isArray()); - Assert.assertEquals(7, Array.getLength(result)); - Assert.assertTrue(int.class == result.getClass().getComponentType()); - for (int i = 0; i < 7; i++) { - Assert.assertEquals(i + 1, Array.get(result, i)); + public void testShortArrayMerger() throws Exception { + short[] arrayOne = {1, 2}; + short[] arrayTwo = {2, 34}; + short[] result = MergerFactory.getMerger(short[].class).merge(arrayOne, arrayTwo); + Assert.assertEquals(4, result.length); + double[] mergedResult = {1, 2, 2, 34}; + for (int i = 0; i < mergedResult.length; i++) { + Assert.assertTrue(mergedResult[i] == result[i]); } - } } diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/condition/ConditionRouterTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/condition/ConditionRouterTest.java index 57d9de6..afbbc9b 100644 --- a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/condition/ConditionRouterTest.java +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/condition/ConditionRouterTest.java @@ -26,7 +26,7 @@ import com.alibaba.dubbo.rpc.RpcInvocation; import com.alibaba.dubbo.rpc.cluster.Router; import com.alibaba.dubbo.rpc.cluster.router.MockInvoker; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; @@ -49,49 +49,37 @@ public class ConditionRouterTest { private URL getRouteUrl(String rule) { return SCRIPT_URL.addParameterAndEncoded(Constants.RULE_KEY, rule); } + @Test public void testRoute_matchWhen() { Invocation invocation = new RpcInvocation(); Router router = new ConditionRouterFactory().getRouter(getRouteUrl(" => host = 1.2.3.4")); - boolean matchWhen = ((ConditionRouter) router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), - invocation); + boolean matchWhen = ((ConditionRouter) router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), invocation); Assert.assertEquals(true, matchWhen); - router = new ConditionRouterFactory() - .getRouter(getRouteUrl("host = 2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4")); - matchWhen = ((ConditionRouter) router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), - invocation); + router = new ConditionRouterFactory().getRouter(getRouteUrl("host = 2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4")); + matchWhen = ((ConditionRouter) router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), invocation); Assert.assertEquals(true, matchWhen); - router = new ConditionRouterFactory() - .getRouter(getRouteUrl("host = 2.2.2.2,1.1.1.1,3.3.3.3 & host !=1.1.1.1 => host = 1.2.3.4")); - matchWhen = ((ConditionRouter) router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), - invocation); + router = new ConditionRouterFactory().getRouter(getRouteUrl("host = 2.2.2.2,1.1.1.1,3.3.3.3 & host !=1.1.1.1 => host = 1.2.3.4")); + matchWhen = ((ConditionRouter) router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), invocation); Assert.assertEquals(false, matchWhen); - router = new ConditionRouterFactory() - .getRouter(getRouteUrl("host !=4.4.4.4 & host = 2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4")); - matchWhen = ((ConditionRouter) router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), - invocation); + router = new ConditionRouterFactory().getRouter(getRouteUrl("host !=4.4.4.4 & host = 2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4")); + matchWhen = ((ConditionRouter) router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), invocation); Assert.assertEquals(true, matchWhen); - router = new ConditionRouterFactory() - .getRouter(getRouteUrl("host !=4.4.4.* & host = 2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4")); - matchWhen = ((ConditionRouter) router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), - invocation); + router = new ConditionRouterFactory().getRouter(getRouteUrl("host !=4.4.4.* & host = 2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4")); + matchWhen = ((ConditionRouter) router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), invocation); Assert.assertEquals(true, matchWhen); - router = new ConditionRouterFactory() - .getRouter(getRouteUrl("host = 2.2.2.2,1.1.1.*,3.3.3.3 & host != 1.1.1.1 => host = 1.2.3.4")); - matchWhen = ((ConditionRouter) router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), - invocation); + router = new ConditionRouterFactory().getRouter(getRouteUrl("host = 2.2.2.2,1.1.1.*,3.3.3.3 & host != 1.1.1.1 => host = 1.2.3.4")); + matchWhen = ((ConditionRouter) router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), invocation); Assert.assertEquals(false, matchWhen); - router = new ConditionRouterFactory() - .getRouter(getRouteUrl("host = 2.2.2.2,1.1.1.*,3.3.3.3 & host != 1.1.1.2 => host = 1.2.3.4")); - matchWhen = ((ConditionRouter) router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), - invocation); + router = new ConditionRouterFactory().getRouter(getRouteUrl("host = 2.2.2.2,1.1.1.*,3.3.3.3 & host != 1.1.1.2 => host = 1.2.3.4")); + matchWhen = ((ConditionRouter) router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), invocation); Assert.assertEquals(true, matchWhen); } @@ -127,24 +115,18 @@ public class ConditionRouterTest { "host = " + NetUtils.getLocalHost() + " => " + " serialization = fastjson").addParameter( Constants.FORCE_KEY, String.valueOf(true))); - List<Invoker<String>> fileredInvokers1 = router1.route(invokers, - URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - List<Invoker<String>> fileredInvokers2 = router2.route(invokers, - URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - List<Invoker<String>> fileredInvokers3 = router3.route(invokers, - URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - List<Invoker<String>> fileredInvokers4 = router4.route(invokers, - URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - List<Invoker<String>> fileredInvokers5 = router5.route(invokers, - URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - List<Invoker<String>> fileredInvokers6 = router6.route(invokers, - URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - Assert.assertEquals(1, fileredInvokers1.size()); - Assert.assertEquals(0, fileredInvokers2.size()); - Assert.assertEquals(0, fileredInvokers3.size()); - Assert.assertEquals(1, fileredInvokers4.size()); - Assert.assertEquals(2, fileredInvokers5.size()); - Assert.assertEquals(1, fileredInvokers6.size()); + List<Invoker<String>> filteredInvokers1 = router1.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + List<Invoker<String>> filteredInvokers2 = router2.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + List<Invoker<String>> filteredInvokers3 = router3.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + List<Invoker<String>> filteredInvokers4 = router4.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + List<Invoker<String>> filteredInvokers5 = router5.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + List<Invoker<String>> filteredInvokers6 = router6.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + Assert.assertEquals(1, filteredInvokers1.size()); + Assert.assertEquals(0, filteredInvokers2.size()); + Assert.assertEquals(0, filteredInvokers3.size()); + Assert.assertEquals(1, filteredInvokers4.size()); + Assert.assertEquals(2, filteredInvokers5.size()); + Assert.assertEquals(1, filteredInvokers6.size()); } @Test @@ -185,16 +167,16 @@ public class ConditionRouterTest { Router router4 = new ConditionRouterFactory().getRouter(getRouteUrl( "host = " + NetUtils.getLocalHost() + " & methods = getFoo => " + " host = 10.20.3.3").addParameter( Constants.FORCE_KEY, String.valueOf(true))); - List<Invoker<String>> fileredInvokers1 = router4.route(invokers, + List<Invoker<String>> filteredInvokers1 = router4.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), invocation); - Assert.assertEquals(1, fileredInvokers1.size()); + Assert.assertEquals(1, filteredInvokers1.size()); Router router5 = new ConditionRouterFactory().getRouter(getRouteUrl( "host = " + NetUtils.getLocalHost() + " & methods = unvalidmethod => " + " host = 10.20.3.3") .addParameter(Constants.FORCE_KEY, String.valueOf(true))); - List<Invoker<String>> fileredInvokers2 = router5.route(invokers, + List<Invoker<String>> filteredInvokers2 = router5.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), invocation); - Assert.assertEquals(3, fileredInvokers2.size()); + Assert.assertEquals(3, filteredInvokers2.size()); // Request a non-exists method } @@ -205,8 +187,8 @@ public class ConditionRouterTest { invokers.add(new MockInvoker<String>()); invokers.add(new MockInvoker<String>()); invokers.add(new MockInvoker<String>()); - List<Invoker<String>> fileredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - Assert.assertEquals(0, fileredInvokers.size()); + List<Invoker<String>> filteredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + Assert.assertEquals(0, filteredInvokers.size()); } @Test @@ -216,8 +198,8 @@ public class ConditionRouterTest { invokers.add(new MockInvoker<String>()); invokers.add(new MockInvoker<String>()); invokers.add(new MockInvoker<String>()); - List<Invoker<String>> fileredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - Assert.assertEquals(0, fileredInvokers.size()); + List<Invoker<String>> filteredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + Assert.assertEquals(0, filteredInvokers.size()); } @Test @@ -227,8 +209,8 @@ public class ConditionRouterTest { invokers.add(new MockInvoker<String>()); invokers.add(new MockInvoker<String>()); invokers.add(new MockInvoker<String>()); - List<Invoker<String>> fileredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - Assert.assertEquals(invokers, fileredInvokers); + List<Invoker<String>> filteredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + Assert.assertEquals(invokers, filteredInvokers); } @Test @@ -241,10 +223,10 @@ public class ConditionRouterTest { invokers.add(invoker1); invokers.add(invoker2); invokers.add(invoker3); - List<Invoker<String>> fileredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - Assert.assertEquals(2, fileredInvokers.size()); - Assert.assertEquals(invoker2, fileredInvokers.get(0)); - Assert.assertEquals(invoker3, fileredInvokers.get(1)); + List<Invoker<String>> filteredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + Assert.assertEquals(2, filteredInvokers.size()); + Assert.assertEquals(invoker2, filteredInvokers.get(0)); + Assert.assertEquals(invoker3, filteredInvokers.get(1)); } @Test @@ -257,10 +239,10 @@ public class ConditionRouterTest { invokers.add(invoker1); invokers.add(invoker2); invokers.add(invoker3); - List<Invoker<String>> fileredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - Assert.assertEquals(2, fileredInvokers.size()); - Assert.assertEquals(invoker2, fileredInvokers.get(0)); - Assert.assertEquals(invoker3, fileredInvokers.get(1)); + List<Invoker<String>> filteredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + Assert.assertEquals(2, filteredInvokers.size()); + Assert.assertEquals(invoker2, filteredInvokers.get(0)); + Assert.assertEquals(invoker3, filteredInvokers.get(1)); } @Test @@ -273,10 +255,10 @@ public class ConditionRouterTest { invokers.add(invoker1); invokers.add(invoker2); invokers.add(invoker3); - List<Invoker<String>> fileredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - Assert.assertEquals(2, fileredInvokers.size()); - Assert.assertEquals(invoker2, fileredInvokers.get(0)); - Assert.assertEquals(invoker3, fileredInvokers.get(1)); + List<Invoker<String>> filteredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + Assert.assertEquals(2, filteredInvokers.size()); + Assert.assertEquals(invoker2, filteredInvokers.get(0)); + Assert.assertEquals(invoker3, filteredInvokers.get(1)); } @Test @@ -289,10 +271,10 @@ public class ConditionRouterTest { invokers.add(invoker1); invokers.add(invoker2); invokers.add(invoker3); - List<Invoker<String>> fileredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - Assert.assertEquals(2, fileredInvokers.size()); - Assert.assertEquals(invoker2, fileredInvokers.get(0)); - Assert.assertEquals(invoker3, fileredInvokers.get(1)); + List<Invoker<String>> filteredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + Assert.assertEquals(2, filteredInvokers.size()); + Assert.assertEquals(invoker2, filteredInvokers.get(0)); + Assert.assertEquals(invoker3, filteredInvokers.get(1)); } @Test @@ -305,8 +287,8 @@ public class ConditionRouterTest { invokers.add(invoker1); invokers.add(invoker2); invokers.add(invoker3); - List<Invoker<String>> fileredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - Assert.assertEquals(invokers, fileredInvokers); + List<Invoker<String>> filteredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + Assert.assertEquals(invokers, filteredInvokers); } @Test @@ -319,8 +301,8 @@ public class ConditionRouterTest { invokers.add(invoker1); invokers.add(invoker2); invokers.add(invoker3); - List<Invoker<String>> fileredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - Assert.assertEquals(0, fileredInvokers.size()); + List<Invoker<String>> filteredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + Assert.assertEquals(0, filteredInvokers.size()); } } \ No newline at end of file diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/file/FileRouterEngineTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/file/FileRouterEngineTest.java index 2056017..a95fc5c 100644 --- a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/file/FileRouterEngineTest.java +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/file/FileRouterEngineTest.java @@ -31,7 +31,7 @@ import com.alibaba.dubbo.rpc.cluster.RouterFactory; import com.alibaba.dubbo.rpc.cluster.directory.StaticDirectory; import com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/script/ScriptRouterTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/script/ScriptRouterTest.java index 31a8679..a073ce2 100644 --- a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/script/ScriptRouterTest.java +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/script/ScriptRouterTest.java @@ -24,11 +24,12 @@ import com.alibaba.dubbo.rpc.RpcInvocation; import com.alibaba.dubbo.rpc.cluster.Router; import com.alibaba.dubbo.rpc.cluster.router.MockInvoker; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; +import javax.script.ScriptException; import java.util.ArrayList; import java.util.List; @@ -49,18 +50,18 @@ public class ScriptRouterTest { } @Test - public void testRoute_ReturnAll() { + public void testRouteReturnAll() { Router router = new ScriptRouterFactory().getRouter(getRouteUrl("function route(op1,op2){return op1} route(invokers)")); List<Invoker<String>> invokers = new ArrayList<Invoker<String>>(); invokers.add(new MockInvoker<String>()); invokers.add(new MockInvoker<String>()); invokers.add(new MockInvoker<String>()); - List<Invoker<String>> fileredInvokers = router.route(invokers, invokers.get(0).getUrl(), new RpcInvocation()); - Assert.assertEquals(invokers, fileredInvokers); + List<Invoker<String>> filteredInvokers = router.route(invokers, invokers.get(0).getUrl(), new RpcInvocation()); + Assert.assertEquals(invokers, filteredInvokers); } @Test - public void testRoute_PickInvokers() { + public void testRoutePickInvokers() { String rule = "var result = new java.util.ArrayList(invokers.size());" + "for (i=0;i<invokers.size(); i++){ " + "if (invokers.get(i).isAvailable()) {" + @@ -78,10 +79,11 @@ public class ScriptRouterTest { invokers.add(invoker1); invokers.add(invoker2); invokers.add(invoker3); - List<Invoker<String>> fileredInvokers = router.route(invokers, invokers.get(0).getUrl(), new RpcInvocation()); - Assert.assertEquals(2, fileredInvokers.size()); - Assert.assertEquals(invoker2, fileredInvokers.get(0)); - Assert.assertEquals(invoker3, fileredInvokers.get(1)); + List<Invoker<String>> filteredInvokers = router.route(invokers, invokers.get(0).getUrl(), new RpcInvocation()); + Assert.assertEquals(2, filteredInvokers.size()); + Assert.assertEquals(invoker2, filteredInvokers.get(0)); + Assert.assertEquals(invoker3, filteredInvokers.get(1)); } + //TODO Add tests for abnormal scene } \ No newline at end of file diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/AbstractClusterInvokerTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/AbstractClusterInvokerTest.java index 611683c..495d6fe 100644 --- a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/AbstractClusterInvokerTest.java +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/AbstractClusterInvokerTest.java @@ -33,7 +33,7 @@ import com.alibaba.dubbo.rpc.cluster.loadbalance.LeastActiveLoadBalance; import com.alibaba.dubbo.rpc.cluster.loadbalance.RandomLoadBalance; import com.alibaba.dubbo.rpc.cluster.loadbalance.RoundRobinLoadBalance; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailSafeClusterInvokerTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailSafeClusterInvokerTest.java index 714056b..883db13 100644 --- a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailSafeClusterInvokerTest.java +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailSafeClusterInvokerTest.java @@ -26,7 +26,7 @@ import com.alibaba.dubbo.rpc.RpcResult; import com.alibaba.dubbo.rpc.cluster.Directory; import com.alibaba.dubbo.rpc.cluster.filter.DemoService; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailbackClusterInvokerTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailbackClusterInvokerTest.java index d4a0d67..d70d1da 100644 --- a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailbackClusterInvokerTest.java +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailbackClusterInvokerTest.java @@ -25,7 +25,7 @@ import com.alibaba.dubbo.rpc.RpcInvocation; import com.alibaba.dubbo.rpc.RpcResult; import com.alibaba.dubbo.rpc.cluster.Directory; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailfastClusterInvokerTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailfastClusterInvokerTest.java index 511b15c..cbc495c 100644 --- a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailfastClusterInvokerTest.java +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailfastClusterInvokerTest.java @@ -25,7 +25,7 @@ import com.alibaba.dubbo.rpc.RpcInvocation; import com.alibaba.dubbo.rpc.RpcResult; import com.alibaba.dubbo.rpc.cluster.Directory; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.After; import org.junit.Before; import org.junit.Test; diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/ForkingClusterInvokerTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/ForkingClusterInvokerTest.java index 5a6886c..d929183 100644 --- a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/ForkingClusterInvokerTest.java +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/ForkingClusterInvokerTest.java @@ -24,7 +24,7 @@ import com.alibaba.dubbo.rpc.RpcInvocation; import com.alibaba.dubbo.rpc.RpcResult; import com.alibaba.dubbo.rpc.cluster.Directory; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/wrapper/MockClusterInvokerTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/wrapper/MockClusterInvokerTest.java index a267b74..7ef2cfe 100644 --- a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/wrapper/MockClusterInvokerTest.java +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/wrapper/MockClusterInvokerTest.java @@ -32,7 +32,7 @@ import com.alibaba.dubbo.rpc.cluster.directory.StaticDirectory; import com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker; import com.alibaba.dubbo.rpc.support.MockProtocol; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; diff --git a/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ExtensionLoaderTest.java b/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ExtensionLoaderTest.java index 3f7900c..a864907 100644 --- a/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ExtensionLoaderTest.java +++ b/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ExtensionLoaderTest.java @@ -47,7 +47,7 @@ import com.alibaba.dubbo.common.extensionloader.ext8_add.impl.AddExt4_ManualAdap import com.alibaba.dubbo.common.extensionloader.ext9_empty.Ext9Empty; import com.alibaba.dubbo.common.extensionloader.ext9_empty.impl.Ext9EmptyImpl; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Test; import java.util.HashSet; diff --git a/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ExtensionLoader_Adaptive_Test.java b/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ExtensionLoader_Adaptive_Test.java index 486e976..b857566 100644 --- a/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ExtensionLoader_Adaptive_Test.java +++ b/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ExtensionLoader_Adaptive_Test.java @@ -30,7 +30,7 @@ import com.alibaba.dubbo.common.extensionloader.ext6_inject.Ext6; import com.alibaba.dubbo.common.extensionloader.ext6_inject.impl.Ext6Impl2; import com.alibaba.dubbo.common.utils.LogUtil; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Test; import java.util.HashMap; diff --git a/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ext6_inject/impl/Ext6Impl1.java b/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ext6_inject/impl/Ext6Impl1.java index 2e7c525..886cc18 100644 --- a/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ext6_inject/impl/Ext6Impl1.java +++ b/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ext6_inject/impl/Ext6Impl1.java @@ -21,7 +21,7 @@ import com.alibaba.dubbo.common.extensionloader.ext1.SimpleExt; import com.alibaba.dubbo.common.extensionloader.ext6_inject.Dao; import com.alibaba.dubbo.common.extensionloader.ext6_inject.Ext6; -import junit.framework.Assert; +import org.junit.Assert; public class Ext6Impl1 implements Ext6 { public Dao obj; diff --git a/dubbo-common/src/test/java/com/alibaba/dubbo/common/json/JSONTest.java b/dubbo-common/src/test/java/com/alibaba/dubbo/common/json/JSONTest.java index cf631ee..52aad49 100644 --- a/dubbo-common/src/test/java/com/alibaba/dubbo/common/json/JSONTest.java +++ b/dubbo-common/src/test/java/com/alibaba/dubbo/common/json/JSONTest.java @@ -16,7 +16,7 @@ */ package com.alibaba.dubbo.common.json; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Test; import java.io.StringReader; diff --git a/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/ReferenceConfigTest.java b/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/ReferenceConfigTest.java index 888dc01..59c78e4 100644 --- a/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/ReferenceConfigTest.java +++ b/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/ReferenceConfigTest.java @@ -20,7 +20,7 @@ import com.alibaba.dubbo.common.Constants; import com.alibaba.dubbo.config.api.DemoService; import com.alibaba.dubbo.config.provider.impl.DemoServiceImpl; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Test; public class ReferenceConfigTest { diff --git a/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/url/UrlTestBase.java b/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/url/UrlTestBase.java index d9bee91..8c65111 100644 --- a/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/url/UrlTestBase.java +++ b/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/url/UrlTestBase.java @@ -185,7 +185,7 @@ public class UrlTestBase { */ protected void assertUrlStringWithLocalTable(String paramStringFromDb, Object[][] dataTable, String configName, int column) { - final String FAILLOG_HEADER = "The following config items are not found in URL: "; + final String FAILLOG_HEADER = "The following config items are not found in URLONE: "; log.warn("Verifying service url for " + configName + "... "); log.warn("Consumer url string: " + paramStringFromDb); diff --git a/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/ConfigTest.java b/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/ConfigTest.java index 86c37be..80643f3 100644 --- a/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/ConfigTest.java +++ b/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/ConfigTest.java @@ -381,7 +381,7 @@ public class ConfigTest { } } - // DUBBO-571 methods key in provider's URL doesn't contain the methods from inherited super interface + // DUBBO-571 methods key in provider's URLONE doesn't contain the methods from inherited super interface @Test public void test_noMethodInterface_methodsKeyHasValue() throws Exception { ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(ConfigTest.class.getPackage().getName().replace('.', '/') + "/demo-provider-no-methods-interface.xml"); diff --git a/dubbo-registry/dubbo-registry-api/src/test/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactoryTest.java b/dubbo-registry/dubbo-registry-api/src/test/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactoryTest.java index cb2a454..327f9f5 100644 --- a/dubbo-registry/dubbo-registry-api/src/test/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactoryTest.java +++ b/dubbo-registry/dubbo-registry-api/src/test/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactoryTest.java @@ -22,7 +22,7 @@ import com.alibaba.dubbo.registry.NotifyListener; import com.alibaba.dubbo.registry.Registry; import com.alibaba.dubbo.registry.RegistryFactory; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Test; import java.util.List; diff --git a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferTest.java b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferTest.java index ff623ef..83b87b3 100644 --- a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferTest.java +++ b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferTest.java @@ -16,7 +16,7 @@ */ package com.alibaba.dubbo.remoting.buffer; -import junit.framework.Assert; +import org.junit.Assert; public class DirectChannelBufferTest extends AbstractChannelBufferTest { diff --git a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/HeapChannelBufferTest.java b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/HeapChannelBufferTest.java index 7ad39da..03be4c4 100644 --- a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/HeapChannelBufferTest.java +++ b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/HeapChannelBufferTest.java @@ -16,7 +16,7 @@ */ package com.alibaba.dubbo.remoting.buffer; -import junit.framework.Assert; +import org.junit.Assert; public class HeapChannelBufferTest extends AbstractChannelBufferTest { diff --git a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/ExchangeCodecTest.java b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/ExchangeCodecTest.java index e372e14..23cbcd8 100644 --- a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/ExchangeCodecTest.java +++ b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/ExchangeCodecTest.java @@ -32,7 +32,7 @@ import com.alibaba.dubbo.remoting.exchange.Response; import com.alibaba.dubbo.remoting.exchange.codec.ExchangeCodec; import com.alibaba.dubbo.remoting.telnet.codec.TelnetCodec; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; diff --git a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/TelnetCodecTest.java b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/TelnetCodecTest.java index fdc8274..2e8a41a 100644 --- a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/TelnetCodecTest.java +++ b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/TelnetCodecTest.java @@ -24,7 +24,7 @@ import com.alibaba.dubbo.remoting.buffer.ChannelBuffer; import com.alibaba.dubbo.remoting.buffer.ChannelBuffers; import com.alibaba.dubbo.remoting.telnet.codec.TelnetCodec; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; diff --git a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/ConnectChannelHandlerTest.java b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/ConnectChannelHandlerTest.java index 4799ff6..74b8896 100644 --- a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/ConnectChannelHandlerTest.java +++ b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/ConnectChannelHandlerTest.java @@ -22,7 +22,7 @@ import com.alibaba.dubbo.remoting.exchange.Request; import com.alibaba.dubbo.remoting.exchange.Response; import com.alibaba.dubbo.remoting.transport.dispatcher.connection.ConnectionOrderedChannelHandler; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; diff --git a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/WrappedChannelHandlerTest.java b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/WrappedChannelHandlerTest.java index 96e147c..7ff84a0 100644 --- a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/WrappedChannelHandlerTest.java +++ b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/WrappedChannelHandlerTest.java @@ -22,7 +22,7 @@ import com.alibaba.dubbo.remoting.Channel; import com.alibaba.dubbo.remoting.RemotingException; import com.alibaba.dubbo.remoting.transport.dispatcher.WrappedChannelHandler; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; diff --git a/dubbo-remoting/dubbo-remoting-mina/src/test/java/com/alibaba/remoting/transport/mina/ClientToServerTest.java b/dubbo-remoting/dubbo-remoting-mina/src/test/java/com/alibaba/remoting/transport/mina/ClientToServerTest.java index 48bc7b7..9ec37c4 100644 --- a/dubbo-remoting/dubbo-remoting-mina/src/test/java/com/alibaba/remoting/transport/mina/ClientToServerTest.java +++ b/dubbo-remoting/dubbo-remoting-mina/src/test/java/com/alibaba/remoting/transport/mina/ClientToServerTest.java @@ -22,7 +22,7 @@ import com.alibaba.dubbo.remoting.exchange.ExchangeServer; import com.alibaba.dubbo.remoting.exchange.ResponseFuture; import com.alibaba.dubbo.remoting.exchange.support.Replier; -import junit.framework.Assert; +import org.junit.Assert; import junit.framework.TestCase; import org.junit.Test; diff --git a/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartbeatHandlerTest.java b/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartbeatHandlerTest.java index 89fc6f4..fba07b8 100644 --- a/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartbeatHandlerTest.java +++ b/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartbeatHandlerTest.java @@ -30,7 +30,7 @@ import com.alibaba.dubbo.remoting.exchange.ExchangeServer; import com.alibaba.dubbo.remoting.exchange.Exchangers; import com.alibaba.dubbo.remoting.transport.dispatcher.FakeChannelHandlers; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.After; import org.junit.Test; diff --git a/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ClientToServerTest.java b/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ClientToServerTest.java index 0046d4e..91eebdd 100644 --- a/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ClientToServerTest.java +++ b/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ClientToServerTest.java @@ -22,7 +22,7 @@ import com.alibaba.dubbo.remoting.exchange.ExchangeServer; import com.alibaba.dubbo.remoting.exchange.ResponseFuture; import com.alibaba.dubbo.remoting.exchange.support.Replier; -import junit.framework.Assert; +import org.junit.Assert; import junit.framework.TestCase; import org.junit.Test; diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboInvokerAvilableTest.java b/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboInvokerAvilableTest.java index dcedfcf..6629aa1 100644 --- a/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboInvokerAvilableTest.java +++ b/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboInvokerAvilableTest.java @@ -27,7 +27,7 @@ import com.alibaba.dubbo.rpc.Exporter; import com.alibaba.dubbo.rpc.ProxyFactory; import com.alibaba.dubbo.rpc.protocol.dubbo.support.ProtocolUtils; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboProtocolTest.java b/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboProtocolTest.java index 5e8a709..4ef0c4d 100644 --- a/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboProtocolTest.java +++ b/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboProtocolTest.java @@ -31,14 +31,14 @@ import com.alibaba.dubbo.rpc.protocol.dubbo.support.RemoteServiceImpl; import com.alibaba.dubbo.rpc.protocol.dubbo.support.Type; import com.alibaba.dubbo.rpc.service.EchoService; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Test; import java.util.HashMap; import java.util.Map; import java.util.Set; -import static junit.framework.Assert.assertEquals; +import static org.junit.Assert.assertEquals; /** * <code>ProxiesTest</code> diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/ImplicitCallBackTest.java b/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/ImplicitCallBackTest.java index 6006be8..728a424 100644 --- a/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/ImplicitCallBackTest.java +++ b/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/ImplicitCallBackTest.java @@ -26,7 +26,7 @@ import com.alibaba.dubbo.rpc.RpcContext; import com.alibaba.dubbo.rpc.StaticContext; import com.alibaba.dubbo.rpc.protocol.dubbo.support.ProtocolUtils; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.After; import org.junit.Before; import org.junit.Test; diff --git a/dubbo-rpc/dubbo-rpc-injvm/src/test/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmProtocolTest.java b/dubbo-rpc/dubbo-rpc-injvm/src/test/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmProtocolTest.java index 0af3f46..a390b73 100644 --- a/dubbo-rpc/dubbo-rpc-injvm/src/test/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmProtocolTest.java +++ b/dubbo-rpc/dubbo-rpc-injvm/src/test/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmProtocolTest.java @@ -30,8 +30,8 @@ import org.junit.Test; import java.util.ArrayList; import java.util.List; -import static junit.framework.Assert.assertEquals; -import static junit.framework.Assert.assertTrue; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; /** * <code>ProxiesTest</code> diff --git a/dubbo-rpc/dubbo-rpc-rmi/src/test/java/com/alibaba/dubbo/rpc/protocol/rmi/RmiProtocolTest.java b/dubbo-rpc/dubbo-rpc-rmi/src/test/java/com/alibaba/dubbo/rpc/protocol/rmi/RmiProtocolTest.java index 83f6a19..d7c5910 100644 --- a/dubbo-rpc/dubbo-rpc-rmi/src/test/java/com/alibaba/dubbo/rpc/protocol/rmi/RmiProtocolTest.java +++ b/dubbo-rpc/dubbo-rpc-rmi/src/test/java/com/alibaba/dubbo/rpc/protocol/rmi/RmiProtocolTest.java @@ -28,7 +28,7 @@ import com.alibaba.dubbo.rpc.service.EchoService; import org.junit.Ignore; import org.junit.Test; -import static junit.framework.Assert.assertEquals; +import static org.junit.Assert.assertEquals; public class RmiProtocolTest { private Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); diff --git a/dubbo-test/dubbo-test-examples/src/test/java/com/alibaba/dubbo/examples/validation/ValidationTest.java b/dubbo-test/dubbo-test-examples/src/test/java/com/alibaba/dubbo/examples/validation/ValidationTest.java index 2438c21..b33110d 100644 --- a/dubbo-test/dubbo-test-examples/src/test/java/com/alibaba/dubbo/examples/validation/ValidationTest.java +++ b/dubbo-test/dubbo-test-examples/src/test/java/com/alibaba/dubbo/examples/validation/ValidationTest.java @@ -19,7 +19,7 @@ package com.alibaba.dubbo.examples.validation; import com.alibaba.dubbo.examples.validation.api.ValidationParameter; import com.alibaba.dubbo.examples.validation.api.ValidationService; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Test; import org.springframework.context.support.ClassPathXmlApplicationContext; -- To stop receiving notification emails like this one, please contact wang...@apache.org.