You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by hu...@apache.org on 2019/05/25 01:19:43 UTC

[helix] 09/44: Fix unit test by starting rest sever only once.

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

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

commit fd3aca77c86261951e6e1e261e07ad4705f02e2e
Author: Lei Xia <lx...@linkedin.com>
AuthorDate: Mon Apr 1 15:55:05 2019 -0700

    Fix unit test by starting rest sever only once.
    
    RB=1615610
    G=helix-reviewers
    A=jxue
    
    Signed-off-by: Hunter Lee <hu...@linkedin.com>
---
 .../helix/rest/server/AbstractTestClass.java       | 38 +++++++++++++---------
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/helix-rest/src/test/java/org/apache/helix/rest/server/AbstractTestClass.java b/helix-rest/src/test/java/org/apache/helix/rest/server/AbstractTestClass.java
index 51a64e8..2003d2b 100644
--- a/helix-rest/src/test/java/org/apache/helix/rest/server/AbstractTestClass.java
+++ b/helix-rest/src/test/java/org/apache/helix/rest/server/AbstractTestClass.java
@@ -119,6 +119,7 @@ public class AbstractTestClass extends JerseyTestNg.ContainerPerClassTest {
   protected static Map<String, Map<String, Workflow>> _workflowMap = new HashMap<>();
 
   protected MockAuditLogger _auditLogger = new MockAuditLogger();
+  protected static HelixRestServer _helixRestServer;
 
   protected class MockAuditLogger implements AuditLogger {
     List<AuditLog> _auditLogList = new ArrayList<>();
@@ -172,7 +173,6 @@ public class AbstractTestClass extends JerseyTestNg.ContainerPerClassTest {
       @Override
       public TestContainer create(final URI baseUri, DeploymentContext deploymentContext) {
         return new TestContainer() {
-          private HelixRestServer _helixRestServer;
 
           @Override
           public ClientConfig getClientConfig() {
@@ -186,24 +186,27 @@ public class AbstractTestClass extends JerseyTestNg.ContainerPerClassTest {
 
           @Override
           public void start() {
-            // Create namespace manifest map
-            List<HelixRestNamespace> namespaces = new ArrayList<>();
-            // Add test namespace
-            namespaces.add(new HelixRestNamespace(TEST_NAMESPACE, HelixRestNamespace.HelixMetadataStoreType.ZOOKEEPER,
-                _zkAddrTestNS, false));
-            // Add default namesapce
-            namespaces.add(new HelixRestNamespace(ZK_ADDR));
-            try {
-              _helixRestServer = new HelixRestServer(namespaces, baseUri.getPort(), baseUri.getPath(),
-                  Arrays.<AuditLogger>asList(_auditLogger));
-              _helixRestServer.start();
-            } catch (Exception ex) {
-              throw new TestContainerException(ex);
+            if (_helixRestServer == null) {
+              // Create namespace manifest map
+              List<HelixRestNamespace> namespaces = new ArrayList<>();
+              // Add test namespace
+              namespaces.add(new HelixRestNamespace(TEST_NAMESPACE,
+                  HelixRestNamespace.HelixMetadataStoreType.ZOOKEEPER, _zkAddrTestNS, false));
+              // Add default namesapce
+              namespaces.add(new HelixRestNamespace(ZK_ADDR));
+              try {
+                _helixRestServer =
+                    new HelixRestServer(namespaces, baseUri.getPort(), baseUri.getPath(),
+                        Arrays.<AuditLogger>asList(new MockAuditLogger()));
+                _helixRestServer.start();
+              } catch (Exception ex) {
+                throw new TestContainerException(ex);
+              }
             }
           }
+
           @Override
           public void stop() {
-            _helixRestServer.shutdown();
           }
         };
       }
@@ -261,6 +264,11 @@ public class AbstractTestClass extends JerseyTestNg.ContainerPerClassTest {
       TestHelper.stopZkServer(_zkServerTestNS);
       _zkServerTestNS = null;
     }
+
+    if (_helixRestServer != null) {
+      _helixRestServer.shutdown();
+      _helixRestServer = null;
+    }
   }
 
   protected void setup() throws Exception {