You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2021/06/01 14:54:55 UTC

[dubbo] branch master updated: Add unit test for PublishMetadata, Version command (#7906)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 8d66c83  Add unit test for PublishMetadata, Version command (#7906)
8d66c83 is described below

commit 8d66c83789a77fd1dbd0a98066298b39e8bf4ee0
Author: 灼华 <43...@users.noreply.github.com>
AuthorDate: Tue Jun 1 22:54:46 2021 +0800

    Add unit test for PublishMetadata, Version command (#7906)
    
    * Add unit test for Ready,PublishMetadata,Version command
    
    * Add clear mechanism in unit test
    
    * Fix unit test
    
    * Fix unit test
    
    * Fix unit test
    
    * Fix unit test npe
    
    * Fix unit test
    
    * Fix unit test
    
    * Debug ut
    
    * Fix ut
    
    * Debug ut
    
    * Debug ut
    
    * Debug ut
    
    * Debug ut
    
    * Debug ut
    
    * Revert
    
    * Debug ut
    
    * Debug ut
    
    * Remove ReadyTest
---
 .../qos/command/impl/PublishMetadataTest.java      | 52 ++++++++++++++++++++++
 .../apache/dubbo/qos/command/impl/VersionTest.java | 29 ++++++++++++
 .../dubbo/qos/command/support/DemoService.java     | 21 +++++++++
 .../qos/command/support/impl/DemoServiceImpl.java  | 26 +++++++++++
 4 files changed, 128 insertions(+)

diff --git a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/PublishMetadataTest.java b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/PublishMetadataTest.java
new file mode 100644
index 0000000..6e60eba
--- /dev/null
+++ b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/PublishMetadataTest.java
@@ -0,0 +1,52 @@
+/*
+ * 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 org.apache.dubbo.qos.command.impl;
+
+import org.apache.dubbo.config.ApplicationConfig;
+import org.apache.dubbo.rpc.model.ApplicationModel;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+public class PublishMetadataTest {
+
+    @BeforeEach
+    public void setUp() {
+        ApplicationModel.getConfigManager().setApplication(new ApplicationConfig("app"));
+    }
+
+    @AfterEach
+    public void clear(){
+        ApplicationModel.reset();
+    }
+
+    @Test
+    public void testNoDelay() {
+        PublishMetadata publishMetadata = new PublishMetadata();
+        String msg = publishMetadata.execute(null, null);
+        Assertions.assertEquals(msg, "publish metadata succeeded.");
+    }
+
+    @Test
+    public void testWithDelay() {
+        PublishMetadata publishMetadata = new PublishMetadata();
+        String[] args = {"10"};
+        String msg = publishMetadata.execute(null, args);
+        Assertions.assertEquals(msg,"publish task submitted, will publish in " + args[0] + " seconds.");
+    }
+}
diff --git a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/VersionTest.java b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/VersionTest.java
new file mode 100644
index 0000000..50a73f3
--- /dev/null
+++ b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/VersionTest.java
@@ -0,0 +1,29 @@
+/*
+ * 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 org.apache.dubbo.qos.command.impl;
+
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+public class VersionTest {
+    @Test
+    public void test(){
+        Version version = new Version();
+        String msg = version.execute(null,null);
+        Assertions.assertNotNull(msg);
+    }
+}
diff --git a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/support/DemoService.java b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/support/DemoService.java
new file mode 100644
index 0000000..d7f515e
--- /dev/null
+++ b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/support/DemoService.java
@@ -0,0 +1,21 @@
+/*
+ * 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 org.apache.dubbo.qos.command.support;
+
+public interface DemoService {
+    void sayHello(String name);
+}
diff --git a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/support/impl/DemoServiceImpl.java b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/support/impl/DemoServiceImpl.java
new file mode 100644
index 0000000..2dbca55
--- /dev/null
+++ b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/support/impl/DemoServiceImpl.java
@@ -0,0 +1,26 @@
+/*
+ * 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 org.apache.dubbo.qos.command.support.impl;
+
+import org.apache.dubbo.qos.command.support.DemoService;
+
+public class DemoServiceImpl implements DemoService {
+    @Override
+    public void sayHello(String name) {
+        System.out.println("hello :" + name);
+    }
+}