Repository: stratos
Updated Branches:
  refs/heads/data-publisher-integration 18e3fe472 -> f704fa3da


Integration test: stop the broker service before Stratos server shutdown, added 
mock iaas initialized check


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/1c7f6358
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/1c7f6358
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/1c7f6358

Branch: refs/heads/data-publisher-integration
Commit: 1c7f63581102bc80a0a80f860624e82c03d36093
Parents: 4f91f25
Author: Akila Perera <[email protected]>
Authored: Tue Aug 4 17:54:33 2015 +0530
Committer: Akila Perera <[email protected]>
Committed: Tue Aug 4 17:54:33 2015 +0530

----------------------------------------------------------------------
 .../tests/StratosTestServerManager.java         | 56 ++++++++++++++++----
 1 file changed, 45 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/1c7f6358/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/StratosTestServerManager.java
----------------------------------------------------------------------
diff --git 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/StratosTestServerManager.java
 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/StratosTestServerManager.java
index 9373c11..020ce41 100755
--- 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/StratosTestServerManager.java
+++ 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/StratosTestServerManager.java
@@ -54,6 +54,8 @@ public class StratosTestServerManager extends 
TestServerManager {
     private static final String JNDI_PROPERTIES_FILE = "jndi.properties";
     private static final String JMS_OUTPUT_ADAPTER_FILE = 
"JMSOutputAdaptor.xml";
 
+    private BrokerService broker = new BrokerService();
+    private TestLogAppender testLogAppender = new TestLogAppender();
     private ServerUtils serverUtils;
     private String carbonHome;
 
@@ -65,8 +67,6 @@ public class StratosTestServerManager extends 
TestServerManager {
     @Override
     @BeforeSuite(timeOut = 600000)
     public String startServer() throws IOException {
-
-        TestLogAppender testLogAppender = new TestLogAppender();
         Logger.getRootLogger().addAppender(testLogAppender);
         Logger.getRootLogger().setLevel(Level.INFO);
 
@@ -74,15 +74,15 @@ public class StratosTestServerManager extends 
TestServerManager {
             // Start ActiveMQ
             long time1 = System.currentTimeMillis();
             log.info("Starting ActiveMQ...");
-            BrokerService broker = new BrokerService();
             
broker.setDataDirectory(StratosTestServerManager.class.getResource("/").getPath()
 +
                     File.separator + ".." + File.separator + "activemq-data");
             broker.setBrokerName("testBroker");
             broker.addConnector(ACTIVEMQ_BIND_ADDRESS);
             broker.start();
             long time2 = System.currentTimeMillis();
-            log.info(String.format("ActiveMQ started in %d sec", (time2 - 
time1)/1000));
-        } catch (Exception e) {
+            log.info(String.format("ActiveMQ started in %d sec", (time2 - 
time1) / 1000));
+        }
+        catch (Exception e) {
             throw new RuntimeException("Could not start ActiveMQ", e);
         }
 
@@ -106,24 +106,48 @@ public class StratosTestServerManager extends 
TestServerManager {
                 this.serverUtils.startServerUsingCarbonHome(carbonHome, 
carbonHome, "stratos", PORT_OFFSET, null);
                 FrameworkSettings.init();
 
-                while (!serverStarted(testLogAppender)) {
+                while (!serverStarted()) {
                     log.info("Waiting for topology to be initialized...");
                     Thread.sleep(5000);
                 }
 
+                while (!mockServiceStarted()) {
+                    log.info("Waiting for mock service to be initialized...");
+                    Thread.sleep(1000);
+                }
+
                 long time4 = System.currentTimeMillis();
-                log.info(String.format("Stratos server started in %d sec", 
(time4 - time3)/1000));
+                log.info(String.format("Stratos server started in %d sec", 
(time4 - time3) / 1000));
                 return carbonHome;
             }
-        } catch (Exception e) {
+        }
+        catch (Exception e) {
             throw new RuntimeException("Could not start Stratos server", e);
         }
     }
 
+    private boolean mockServiceStarted() {
+        for (String message : testLogAppender.getMessages()) {
+            if (message.contains("Mock IaaS service component activated")) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     @Override
     @AfterSuite(timeOut = 600000)
     public void stopServer() throws Exception {
         super.stopServer();
+       /*
+       while (!serverStopped()) {
+            log.info("Waiting for server to be shutdown...");
+            Thread.sleep(1000);
+        }
+        log.info("Stopped Apache Stratos server.");
+        */
+        broker.stop();
+        log.info("Stopped ActiveMQ server.");
     }
 
     protected void copyArtifacts(String carbonHome) throws IOException {
@@ -146,9 +170,19 @@ public class StratosTestServerManager extends 
TestServerManager {
         log.info(sourceFilePath + " file copied");
     }
 
-    private boolean serverStarted(TestLogAppender testLogAppender) {
-        for(String message : testLogAppender.getMessages()) {
-            if(message.contains("Topology initialized")) {
+    private boolean serverStopped() {
+        for (String message : testLogAppender.getMessages()) {
+            if (message.contains("Halting JVM")) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+
+    private boolean serverStarted() {
+        for (String message : testLogAppender.getMessages()) {
+            if (message.contains("Topology initialized")) {
                 return true;
             }
         }

Reply via email to