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 a21337553ed..42b688b9d8b 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 AbstractConfigurator(URL url) { 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 595cec97a4c..d65113ba0ba 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 @@ * */ public class ConsistentHashLoadBalance extends AbstractLoadBalance { + public static final String NAME = "consistenthash"; private final ConcurrentMap> selectors = new ConcurrentHashMap>(); 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 e6d4107f8f4..7dc3effd808 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 @@ 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 00000000000..3f8e0ecca99 --- /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 3e624438391..ada9d7ea926 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 @@ 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 void testOverride_Application() { 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 00000000000..4c900fb7125 --- /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 getAttachments() { + Map attachments = new HashMap(); + 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 00000000000..29839b25bfe --- /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 routers = new ArrayList(); + routers.add(router); + List> invokers = new ArrayList>(); + Invoker invoker1 = new MockInvoker(URL.valueOf("dubbo://10.20.3.3:20880/com.foo.BarService")); + Invoker invoker2 = new MockInvoker(URL.valueOf("dubbo://" + NetUtils.getLocalHost() + ":20880/com.foo.BarService")); + Invoker invoker3 = new MockInvoker(URL.valueOf("dubbo://" + NetUtils.getLocalHost() + ":20880/com.foo.BarService")); + invokers.add(invoker1); + invokers.add(invoker2); + invokers.add(invoker3); + List> 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 newInvokers = staticDirectory.list(new MockDirInvocation()); + Assert.assertTrue(newInvokers.size() > 0); + staticDirectory.destroy(); + Assert.assertTrue(newInvokers.size() == 0); + } +} diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalanceTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalanceTest.java new file mode 100644 index 00000000000..4cfaffbd711 --- /dev/null +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalanceTest.java @@ -0,0 +1,40 @@ +/* + * 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 ConsistentHashLoadBalanceTest extends LoadBalanceBaseTest { + @Ignore + @Test + public void testConsistentHashLoadBalance() { + int runs = 10000; + Map 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())); + } + } + +} 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 00000000000..4d82c86d327 --- /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 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 00000000000..e7a22c50928 --- /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> invokers = new ArrayList>(); + Invoker invoker1; + Invoker invoker2; + Invoker invoker3; + Invoker invoker4; + Invoker 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 getInvokeCounter(int runs, String loadbalanceName) { + Map counter = new ConcurrentHashMap(); + 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 442b1087da6..00000000000 --- 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> invokers = new ArrayList>(); - Invoker invoker1; - Invoker invoker2; - Invoker invoker3; - Invoker invoker4; - Invoker 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 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 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 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 getInvokeCounter(int runs, String loadbalanceName) { - Map counter = new ConcurrentHashMap(); - 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 00000000000..a49dfda97fa --- /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 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-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalanceTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalanceTest.java new file mode 100644 index 00000000000..ffc4e6c000c --- /dev/null +++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalanceTest.java @@ -0,0 +1,37 @@ +/* + * 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.Test; + +import java.util.Map; +import java.util.concurrent.atomic.AtomicLong; + +public class RoundRobinLoadBalanceTest extends LoadBalanceBaseTest { + @Test + public void testRoundRobinLoadBalanceSelect() { + int runs = 10000; + Map 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 481a97fe6f2..cede590cc0c 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 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 list1 = new ArrayList(); - list1.add(null); - list1.add("1"); - list1.add("2"); - List list2 = new ArrayList(); - list2.add("3"); - list2.add("4"); + List list1 = new ArrayList(){{ + add(null); + add("1"); + add("2"); + }}; + List list2 = new ArrayList(){{ + add("3"); + add("4"); + }}; List result = MergerFactory.getMerger(List.class).merge(list1, list2); Assert.assertEquals(5, result.size()); - Assert.assertEquals(new ArrayList() { - { - add(null); - add("1"); - add("2"); - add("3"); - add("4"); - } - }, result); + ArrayList expected = new ArrayList() {{ + 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 mapOne = new HashMap() {{ + put("11", 222); + put("223", 11); + }}; + Map mapTwo = new HashMap() {{ + put("3333", 3232); + put("444", 2323); + }}; + Map result = MergerFactory.getMerger(Map.class).merge(mapOne, mapTwo); + Assert.assertEquals(4, result.size()); + Map 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 set1 = new HashSet(); @@ -73,30 +262,20 @@ public void testSetMerger() throws Exception { }, 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 57d9de6b0bf..afbbc9ba1e7 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.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 void setUp() throws Exception { 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 void testRoute_matchFilter() { "host = " + NetUtils.getLocalHost() + " => " + " serialization = fastjson").addParameter( Constants.FORCE_KEY, String.valueOf(true))); - List> fileredInvokers1 = router1.route(invokers, - URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - List> fileredInvokers2 = router2.route(invokers, - URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - List> fileredInvokers3 = router3.route(invokers, - URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - List> fileredInvokers4 = router4.route(invokers, - URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - List> fileredInvokers5 = router5.route(invokers, - URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - List> 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> filteredInvokers1 = router1.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + List> filteredInvokers2 = router2.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + List> filteredInvokers3 = router3.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + List> filteredInvokers4 = router4.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + List> filteredInvokers5 = router5.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + List> 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 void testRoute_methodRoute() { Router router4 = new ConditionRouterFactory().getRouter(getRouteUrl( "host = " + NetUtils.getLocalHost() + " & methods = getFoo => " + " host = 10.20.3.3").addParameter( Constants.FORCE_KEY, String.valueOf(true))); - List> fileredInvokers1 = router4.route(invokers, + List> 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> fileredInvokers2 = router5.route(invokers, + List> 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 void testRoute_ReturnFalse() { invokers.add(new MockInvoker()); invokers.add(new MockInvoker()); invokers.add(new MockInvoker()); - List> fileredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - Assert.assertEquals(0, fileredInvokers.size()); + List> 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 void testRoute_ReturnEmpty() { invokers.add(new MockInvoker()); invokers.add(new MockInvoker()); invokers.add(new MockInvoker()); - List> fileredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - Assert.assertEquals(0, fileredInvokers.size()); + List> 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 void testRoute_ReturnAll() { invokers.add(new MockInvoker()); invokers.add(new MockInvoker()); invokers.add(new MockInvoker()); - List> fileredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - Assert.assertEquals(invokers, fileredInvokers); + List> filteredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + Assert.assertEquals(invokers, filteredInvokers); } @Test @@ -241,10 +223,10 @@ public void testRoute_HostFilter() { invokers.add(invoker1); invokers.add(invoker2); invokers.add(invoker3); - List> 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> 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 void testRoute_Empty_HostFilter() { invokers.add(invoker1); invokers.add(invoker2); invokers.add(invoker3); - List> 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> 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 void testRoute_False_HostFilter() { invokers.add(invoker1); invokers.add(invoker2); invokers.add(invoker3); - List> 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> 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 void testRoute_Placeholder() { invokers.add(invoker1); invokers.add(invoker2); invokers.add(invoker3); - List> 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> 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 void testRoute_NoForce() { invokers.add(invoker1); invokers.add(invoker2); invokers.add(invoker3); - List> fileredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - Assert.assertEquals(invokers, fileredInvokers); + List> filteredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); + Assert.assertEquals(invokers, filteredInvokers); } @Test @@ -319,8 +301,8 @@ public void testRoute_Force() { invokers.add(invoker1); invokers.add(invoker2); invokers.add(invoker3); - List> fileredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation()); - Assert.assertEquals(0, fileredInvokers.size()); + List> 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 2056017bbdd..a95fc5cec40 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.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 31a8679931d..a073ce2210f 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.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 @@ private URL getRouteUrl(String rule) { } @Test - public void testRoute_ReturnAll() { + public void testRouteReturnAll() { Router router = new ScriptRouterFactory().getRouter(getRouteUrl("function route(op1,op2){return op1} route(invokers)")); List> invokers = new ArrayList>(); invokers.add(new MockInvoker()); invokers.add(new MockInvoker()); invokers.add(new MockInvoker()); - List> fileredInvokers = router.route(invokers, invokers.get(0).getUrl(), new RpcInvocation()); - Assert.assertEquals(invokers, fileredInvokers); + List> 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> 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> 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 611683ce000..495d6feaf43 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.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 714056bfea9..883db136270 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.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 d4a0d674a0b..d70d1da3ffb 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.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 511b15cbe87..cbc495ce83a 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.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 5a6886c0f4e..d929183de68 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.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 a267b741410..7ef2cfeaade 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.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 3f7900c38b6..a8649074785 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.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 486e976c53c..b8575668968 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.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 2e7c5250d45..886cc18340e 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.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 cf631eebb6b..52aad493fc5 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 888dc017cc7..59c78e4f5d9 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.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 d9bee91f799..8c6511134b3 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 @@ protected String getProviderParamString() { */ 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 86c37be085d..80643f363ca 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 void testInitReference() throws Exception { } } - // 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 cb2a45473ff..327f9f54ffb 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.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 ff623efddeb..83b87b30ab8 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 7ad39dafbb3..03be4c41fcf 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 e372e14f650..23cbcd80f1b 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.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 fdc827413ca..2e8a41ad590 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.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 4799ff6fd3b..74b8896c15c 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.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 96e147c3764..7ff84a0aa1d 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.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 48bc7b76e93..9ec37c4e300 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.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 89fc6f44b56..fba07b851d8 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.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 0046d4ec1de..91eebdd0a8f 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.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 dcedfcf6526..6629aa13ffb 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.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 5e8a70955f9..4ef0c4d5e02 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.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; /** * ProxiesTest 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 6006be84934..728a4245383 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.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 0af3f46ff98..a390b73c6f2 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 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; /** * ProxiesTest 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 83f6a194179..d7c5910b681 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 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 2438c210e0a..b33110d4bac 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 @@ 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;