package org.wso2.carbon.esb.samples.test.miscellaneous; import junit.framework.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import org.wso2.carbon.automation.engine.annotations.ExecutionEnvironment; import org.wso2.carbon.automation.engine.annotations.SetEnvironment; import org.wso2.carbon.automation.engine.frameworkutils.FrameworkPathUtil; import org.wso2.carbon.base.CarbonBaseUtils; import org.wso2.carbon.integration.common.admin.client.LogViewerClient; import org.wso2.carbon.integration.common.utils.mgt.ServerConfigurationManager; import org.wso2.carbon.logging.view.stub.types.carbon.LogEvent; import org.wso2.esb.integration.common.utils.ESBIntegrationTest; import java.io.File; public class Sample651TestCase extends ESBIntegrationTest { private ServerConfigurationManager serverManager = null; private LogViewerClient logViewerClient = null; @BeforeClass(alwaysRun = true) public void startJMSBrokerAndConfigureESB() throws Exception { super.init(); serverManager = new ServerConfigurationManager(context); String sourceLog4j = FrameworkPathUtil.getSystemResourceLocation() + File.separator + "artifacts" + File.separator + "ESB" + File.separator + "synapseconfig" + File.separator + "observer" + File.separator + "log4j.properties"; String targetLog4j = CarbonBaseUtils.getCarbonHome() + File.separator + "repository" + File.separator + "conf" + File.separator + "log4j.properties"; File sourceLog4jFile = new File(sourceLog4j); File targetLog4jFile = new File(targetLog4j); serverManager.applyConfigurationWithoutRestart(sourceLog4jFile, targetLog4jFile, true); String sourceSynapsePrp = FrameworkPathUtil.getSystemResourceLocation() + File.separator + "artifacts" + File.separator + "ESB" + File.separator + "synapseconfig" + File.separator + "observer" + File.separator + "synapse.properties"; String targetSynapsePrp = CarbonBaseUtils.getCarbonHome() + File.separator + "repository" + File.separator + "conf" + File.separator + "synapse.properties"; File sourceSynapsePrpFile = new File(sourceSynapsePrp); File targetSynapsePrpFile = new File(targetSynapsePrp); serverManager.applyConfiguration(sourceSynapsePrpFile, targetSynapsePrpFile); super.init(); logViewerClient = new LogViewerClient(contextUrls.getBackEndUrl(), getSessionCookie()); loadSampleESBConfiguration(100); } @SetEnvironment(executionEnvironments = {ExecutionEnvironment.STANDALONE}) @Test(groups = {"wso2.esb"}, description = "Test synapse observer ",enabled = false) public void testSynapseObservers() throws Exception { Thread.sleep(30000); boolean isRequestLogFound = false; LogEvent[] logEvents = logViewerClient.getAllSystemLogs(); for (LogEvent event : logEvents) { if (event.getMessage().contains("Simple logging observer initialized")) { isRequestLogFound = true; break; } } Assert.assertTrue("Simple observer not working", isRequestLogFound); } @AfterClass(alwaysRun = true) public void destroy() throws Exception { //reverting the changes done to esb sever super.cleanup(); Thread.sleep(10000); //let server to clear the artifact undeployment if (serverManager != null) { serverManager.restoreToLastConfiguration(); } } }