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 2a5327e  Fix ReferenceConfigTest multicast error
2a5327e is described below

commit 2a5327ed35fd10aff3a896c129cab46465335378
Author: Albumen Kevin <[email protected]>
AuthorDate: Thu May 6 21:07:50 2021 +0800

    Fix ReferenceConfigTest multicast error
---
 dubbo-config/dubbo-config-api/pom.xml              |  5 +++++
 .../apache/dubbo/config/ReferenceConfigTest.java   | 24 ++++++++++++++++++----
 2 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/dubbo-config/dubbo-config-api/pom.xml 
b/dubbo-config/dubbo-config-api/pom.xml
index 4ccfd67..0935057 100644
--- a/dubbo-config/dubbo-config-api/pom.xml
+++ b/dubbo-config/dubbo-config-api/pom.xml
@@ -232,5 +232,10 @@
         </dependency>
 
 
+        <dependency>
+            <groupId>org.apache.curator</groupId>
+            <artifactId>curator-test</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java
 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java
index 2000a42..aec92d4 100644
--- 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java
+++ 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.dubbo.config;
 
+import org.apache.dubbo.common.utils.NetUtils;
 import org.apache.dubbo.config.annotation.Argument;
 import org.apache.dubbo.config.annotation.Method;
 import org.apache.dubbo.config.annotation.Reference;
@@ -23,16 +24,30 @@ import org.apache.dubbo.config.api.DemoService;
 import org.apache.dubbo.config.bootstrap.DubboBootstrap;
 import org.apache.dubbo.config.provider.impl.DemoServiceImpl;
 
+import org.apache.curator.test.TestingServer;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.dubbo.rpc.Constants.LOCAL_PROTOCOL;
 
 public class ReferenceConfigTest {
+    private TestingServer zkServer;
+    private String registryUrl;
+
+    @BeforeEach
+    public void setUp() throws Exception {
+        int zkServerPort = NetUtils.getAvailablePort();
+        this.zkServer = new TestingServer(zkServerPort, true);
+        this.zkServer.start();
+        this.registryUrl = "zookeeper://localhost:" + zkServerPort;
+    }
+
 
     @AfterEach
-    public void tearDown() {
+    public void tearDown() throws Exception {
+        zkServer.stop();
         DubboBootstrap.reset();
     }
 
@@ -42,7 +57,7 @@ public class ReferenceConfigTest {
         application.setName("test-protocol-random-port");
 
         RegistryConfig registry = new RegistryConfig();
-        registry.setAddress("multicast://224.5.6.7:1234");
+        registry.setAddress(registryUrl);
 
         ProtocolConfig protocol = new ProtocolConfig();
         protocol.setName("mockprotocol");
@@ -69,6 +84,7 @@ public class ReferenceConfigTest {
                     rc.getInvoker().getUrl().getProtocol()));
         } finally {
             System.clearProperty("java.net.preferIPv4Stack");
+            rc.destroy();
             demoService.unexport();
         }
     }
@@ -81,7 +97,7 @@ public class ReferenceConfigTest {
         ApplicationConfig application = new ApplicationConfig();
         application.setName("test-reference-retry");
         RegistryConfig registry = new RegistryConfig();
-        registry.setAddress("multicast://224.5.6.7:1234");
+        registry.setAddress(registryUrl);
         ProtocolConfig protocol = new ProtocolConfig();
         protocol.setName("mockprotocol");
 
@@ -116,8 +132,8 @@ public class ReferenceConfigTest {
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
-            sc.unexport();
             rc.destroy();
+            sc.unexport();
             System.clearProperty("java.net.preferIPv4Stack");
         }
         Assertions.assertTrue(success);

Reply via email to