Repository: stratos Updated Branches: refs/heads/master 4f91f25ca -> 1c7f63581
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/master 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; } }
