This is an automated email from the ASF dual-hosted git repository. liujun pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/dubbo.git
commit b797852fb3a8f3a56da2e66cf6578f99734c91d6 Author: cvictory <[email protected]> AuthorDate: Sat Oct 12 14:56:00 2019 +0800 fix unit test for online and offline --- .../org/apache/dubbo/qos/command/impl/LsTest.java | 2 +- .../apache/dubbo/qos/command/impl/OfflineTest.java | 20 +++++++++++++------- .../apache/dubbo/qos/command/impl/OnlineTest.java | 22 +++++++++++++++------- .../dubbo/qos/command/impl/TestInterface.java | 9 +++++++++ .../dubbo/qos/command/impl/TestInterface2.java | 9 +++++++++ 5 files changed, 47 insertions(+), 15 deletions(-) diff --git a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/LsTest.java b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/LsTest.java index c82e2d5..b83beb6 100644 --- a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/LsTest.java +++ b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/LsTest.java @@ -72,6 +72,6 @@ public class LsTest { Ls ls = new Ls(); String output = ls.execute(mock(CommandContext.class), null); assertThat(output, containsString("org.apache.dubbo.FooService|100")); - assertThat(output, containsString("org.apache.dubbo.BarService| Y")); + assertThat(output, containsString("org.apache.dubbo.BarService")); } } diff --git a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/OfflineTest.java b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/OfflineTest.java index f498d5a..1352d86 100644 --- a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/OfflineTest.java +++ b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/OfflineTest.java @@ -24,6 +24,8 @@ import org.apache.dubbo.registry.support.ProviderInvokerWrapper; import org.apache.dubbo.rpc.Invoker; import org.apache.dubbo.rpc.model.ApplicationModel; import org.apache.dubbo.rpc.model.ProviderModel; +import org.apache.dubbo.rpc.model.ServiceMetadata; + import org.junit.jupiter.api.Test; import org.mockito.Mockito; @@ -38,18 +40,21 @@ public class OfflineTest { @Test public void testExecute() throws Exception { ProviderModel providerModel = mock(ProviderModel.class); - when(providerModel.getServiceName()).thenReturn("org.apache.dubbo.BarService"); - ApplicationModel.initProviderModel("org.apache.dubbo.BarService", providerModel); + when(providerModel.getServiceMetadata()).thenReturn(new ServiceMetadata("org.apache.dubbo.qos.command.impl.TestInterface2", "ddd", "1.2.3.offline", TestInterface2.class)); + when(providerModel.getServiceName()).thenReturn("org.apache.dubbo.qos.command.impl.TestInterface2"); + ApplicationModel.initProviderModel("org.apache.dubbo.qos.command.impl.TestInterface2", providerModel); Invoker providerInvoker = mock(Invoker.class); URL registryUrl = mock(URL.class); when(registryUrl.toFullString()).thenReturn("test://localhost:8080"); URL providerUrl = mock(URL.class); - when(providerUrl.getServiceKey()).thenReturn("org.apache.dubbo.BarService"); - when(providerUrl.toFullString()).thenReturn("dubbo://localhost:8888/org.apache.dubbo.BarService"); + String serviceKey = "ddd/org.apache.dubbo.qos.command.impl.TestInterface2:1.2.3.offline"; + when(providerUrl.getServiceKey()).thenReturn(serviceKey); + when(providerUrl.toFullString()).thenReturn("dubbo://localhost:8888/org.apache.dubbo.qos.command.impl.TestInterface2?version=1.2.3.offline&group=ddd"); when(providerInvoker.getUrl()).thenReturn(providerUrl); + ProviderConsumerRegTable.registerProvider(providerInvoker, registryUrl, providerUrl); - for (ProviderInvokerWrapper wrapper : getProviderInvoker("org.apache.dubbo.BarService")) { + for (ProviderInvokerWrapper wrapper : getProviderInvoker(serviceKey)) { wrapper.setReg(true); } @@ -57,10 +62,11 @@ public class OfflineTest { TestRegistryFactory.registry = registry; Offline offline = new Offline(); - String output = offline.execute(mock(CommandContext.class), new String[]{"org.apache.dubbo.BarService"}); + String output = offline.execute(mock(CommandContext.class), new String[]{"org.apache.dubbo.qos.command.impl.TestInterface2"}); assertThat(output, containsString("OK")); + Mockito.verify(registry).unregister(providerUrl); - for (ProviderInvokerWrapper wrapper : getProviderInvoker("org.apache.dubbo.BarService")) { + for (ProviderInvokerWrapper wrapper : getProviderInvoker(serviceKey)) { assertThat(wrapper.isReg(), is(false)); } diff --git a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/OnlineTest.java b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/OnlineTest.java index 71132c0..08c21e5 100644 --- a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/OnlineTest.java +++ b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/OnlineTest.java @@ -24,11 +24,13 @@ import org.apache.dubbo.registry.support.ProviderInvokerWrapper; import org.apache.dubbo.rpc.Invoker; import org.apache.dubbo.rpc.model.ApplicationModel; import org.apache.dubbo.rpc.model.ProviderModel; +import org.apache.dubbo.rpc.model.ServiceMetadata; + import org.junit.jupiter.api.Test; import static org.apache.dubbo.registry.support.ProviderConsumerRegTable.getProviderInvoker; -import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -37,25 +39,31 @@ public class OnlineTest { @Test public void testExecute() throws Exception { ProviderModel providerModel = mock(ProviderModel.class); - when(providerModel.getServiceName()).thenReturn("org.apache.dubbo.BarService"); - ApplicationModel.initProviderModel("org.apache.dubbo.BarService", providerModel); + when(providerModel.getServiceMetadata()).thenReturn(new ServiceMetadata("org.apache.dubbo.qos.command.impl.TestInterface", "ddd", "1.2.3.online", TestInterface.class)); + when(providerModel.getServiceName()).thenReturn("org.apache.dubbo.qos.command.impl.TestInterface"); + ApplicationModel.initProviderModel("org.apache.dubbo.qos.command.impl.TestInterface", providerModel); Invoker providerInvoker = mock(Invoker.class); URL registryUrl = mock(URL.class); when(registryUrl.toFullString()).thenReturn("test://localhost:8080"); URL providerUrl = mock(URL.class); - when(providerUrl.getServiceKey()).thenReturn("org.apache.dubbo.BarService"); - when(providerUrl.toFullString()).thenReturn("dubbo://localhost:8888/org.apache.dubbo.BarService"); + + String serviceKey = "ddd/org.apache.dubbo.qos.command.impl.TestInterface:1.2.3.online"; + when(providerUrl.getServiceKey()).thenReturn(serviceKey); + when(providerUrl.toFullString()).thenReturn("dubbo://localhost:8888/org.apache.dubbo.qos.command.impl.TestInterface?version=1.2.3.online&group=ddd"); when(providerInvoker.getUrl()).thenReturn(providerUrl); ProviderConsumerRegTable.registerProvider(providerInvoker, registryUrl, providerUrl); Registry registry = mock(Registry.class); TestRegistryFactory.registry = registry; + for (ProviderInvokerWrapper wrapper : getProviderInvoker(serviceKey)) { + assertTrue(!wrapper.isReg()); + } Online online = new Online(); - String output = online.execute(mock(CommandContext.class), new String[]{"org.apache.dubbo.BarService"}); + String output = online.execute(mock(CommandContext.class), new String[]{"org.apache.dubbo.qos.command.impl.TestInterface"}); assertThat(output, equalTo("OK")); - for (ProviderInvokerWrapper wrapper : getProviderInvoker("org.apache.dubbo.BarService")) { + for (ProviderInvokerWrapper wrapper : getProviderInvoker(serviceKey)) { assertTrue(wrapper.isReg()); } } diff --git a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/TestInterface.java b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/TestInterface.java new file mode 100644 index 0000000..9a8eb0a --- /dev/null +++ b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/TestInterface.java @@ -0,0 +1,9 @@ +package org.apache.dubbo.qos.command.impl; + +/** + * 2019-10-11 + */ +public interface TestInterface { + + String sayHello(); +} diff --git a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/TestInterface2.java b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/TestInterface2.java new file mode 100644 index 0000000..49ee892 --- /dev/null +++ b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/TestInterface2.java @@ -0,0 +1,9 @@ +package org.apache.dubbo.qos.command.impl; + +/** + * 2019-10-11 + */ +public interface TestInterface2 { + + String sayHello(); +}
