[jboss-svn-commits] JBL Code SVN: r7675 - labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/gateway
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Nov 16 17:41:33 EST 2006
Author: estebanschifman
Date: 2006-11-16 17:41:31 -0500 (Thu, 16 Nov 2006)
New Revision: 7675
Modified:
labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/gateway/FileGatewayListenerUnitTest.java
labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListenerUnitTest.java
Log:
Change gateway listeners unit tests to use real registry
Modified: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/gateway/FileGatewayListenerUnitTest.java
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/gateway/FileGatewayListenerUnitTest.java 2006-11-16 22:23:08 UTC (rev 7674)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/gateway/FileGatewayListenerUnitTest.java 2006-11-16 22:41:31 UTC (rev 7675)
@@ -86,6 +86,7 @@
_doneFile.delete();
_returnFile.delete();
+ // initialize registry
runBeforeAllTests();
}
Modified: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListenerUnitTest.java
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListenerUnitTest.java 2006-11-16 22:23:08 UTC (rev 7674)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListenerUnitTest.java 2006-11-16 22:41:31 UTC (rev 7675)
@@ -23,12 +23,17 @@
package org.jboss.soa.esb.listeners.gateway;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.io.InputStream;
import java.io.OutputStream;
+import java.sql.DriverManager;
+import java.sql.Statement;
+import java.util.Properties;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
@@ -40,11 +45,15 @@
import junit.framework.JUnit4TestAdapter;
import org.apache.log4j.Logger;
+import org.apache.log4j.xml.DOMConfigurator;
import org.jboss.soa.esb.addressing.eprs.JMSEpr;
import org.jboss.soa.esb.helpers.AppServerContext;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.listeners.message.EsbListenerController;
import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.testutils.FileUtil;
+import org.jboss.soa.esb.testutils.HsqldbUtil;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
import org.jboss.soa.esb.util.Util;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -68,6 +77,11 @@
EsbListenerController _esbListController;
GatewayListenerController _gatewayController;
+ private static String mDbDriver;
+ private static String mDbUrl;
+ private static String mDbUsername;
+ private static String mDbPassword;
+
@BeforeClass
public static void setUp() throws Exception
{
@@ -78,6 +92,9 @@
// delete this one just to make sure asserts take the new ones
_returnFile.delete();
+ // initialize registry
+ runBeforeAllTests();
+
// send a message so when gateway comes up, it will have something waiting
sendJmsMessage(THE_TEXT);
}
@@ -88,6 +105,10 @@
_gatewayConfig.delete();
_esbListenerConfig.delete();
_returnFile.delete();
+
+ Thread.sleep(1000);
+ if ("org.hsqldb.jdbcDriver".equals(mDbDriver))
+ HsqldbUtil.stopHsqldb(mDbUrl, mDbUsername, mDbPassword);
}
@Test
@@ -97,7 +118,7 @@
{
_esbListController = new EsbListenerController(_esbListenerConfig.toString());
new Thread(_esbListController).start();
- Thread.sleep(2000);
+ Thread.sleep(5000);
_gatewayController = new GatewayListenerController(_gatewayConfig.toString());
new Thread(_gatewayController).start();
Thread.sleep(4000);
@@ -127,7 +148,7 @@
StringBuilder sb = new StringBuilder()
.append("<JmsGateway parameterReloadSecs=\"180\">\n")
.append(" <GatewayConfig\n")
- .append(" target-service-category=\"eprManager\"\n")
+ .append(" target-service-category=\"XXeprManager\"\n")
.append(" target-service-name=\"").append(SERVICE_NAME).append("\"\n")
.append(" gatewayClass=\"org.jboss.soa.esb.listeners.gateway.JmsGatewayListener\"\n")
.append(" connection-factory=\"ConnectionFactory\"\n")
@@ -149,7 +170,7 @@
StringBuilder sb = new StringBuilder()
.append("<DummyTester parameterReloadSecs=\"180\">\n")
.append(" <DummyActionConfig\n")
- .append(" service-category=\"eprManager\"\n")
+ .append(" service-category=\"XXeprManager\"\n")
.append(" service-name=\"").append(SERVICE_NAME).append("\"\n")
.append(" service-description=\"My Dummy Service Name\"\n")
.append(" epr-description=\"EPR descriptionnnnnnnnnnnnnnn\"\n")
@@ -230,6 +251,61 @@
} //________________________________
+ public static void runBeforeAllTests()
+ {
+ try {
+ DOMConfigurator.configure(TestEnvironmentUtil.getUserDir("product","../product") + "etc/test/resources/log4j.xml");
+ TestEnvironmentUtil.setESBPropertiesFileToUse("product","../product");
+ //Set the juddi properties file in System so juddi will pick it up later and use the test values.
+ String juddiPropertiesFile = "/org/jboss/soa/esb/services/registry/juddi-qatest.properties";
+ System.setProperty("juddi.propertiesFile", juddiPropertiesFile);
+ //Read this properties file to get the db connection string
+ Properties props = new Properties();
+ InputStream inStream = Class.class.getResourceAsStream(juddiPropertiesFile);
+ props.load(inStream);
+ mDbDriver = props.getProperty("juddi.jdbcDriver");
+ mDbUrl = props.getProperty("juddi.jdbcUrl");
+ mDbUsername = props.getProperty("juddi.jdbcUsername");
+ mDbPassword = props.getProperty("juddi.jdbcPassword");
+
+ String database="not tested yet";
+ if ("org.hsqldb.jdbcDriver".equals(mDbDriver)) {
+ database = "hsqldb";
+ //Bring up hsql on default port 9001
+ HsqldbUtil.startHsqldb(TestEnvironmentUtil.getUserDir("product","../product") + "build/hsqltestdb", "juddi");
+ } else if ("com.mysql.jdbc.Driver".equals(mDbDriver)) {
+ database = "mysql";
+ } //add and test your own database..
+
+ //Get the registry-schema create scripts
+ String sqlDir = TestEnvironmentUtil.getUserDir("product","../product") + "install/jUDDI-registry/sql/" + database + "/";
+ //Drop what is there now, if exists. We want to start fresh.
+ String sqlDropCmd = FileUtil.readTextFile(new File(sqlDir + "drop_database.sql"));
+ String sqlCreateCmd = FileUtil.readTextFile(new File(sqlDir + "create_database.sql"));
+ String sqlInsertPubCmd = FileUtil.readTextFile(new File(sqlDir + "insert_publishers.sql"));
+
+ try {
+ Class.forName(mDbDriver);
+ } catch (Exception e) {
+ System.out.println("ERROR: failed to load " + database + " JDBC driver.");
+ e.printStackTrace();
+ return;
+ }
+ java.sql.Connection con = DriverManager.getConnection(mDbUrl, mDbUsername, mDbPassword);
+ Statement stmnt = con.createStatement();
+ System.out.println("Dropping the schema if exist");
+ stmnt.execute(sqlDropCmd);
+ System.out.println("Creating the juddi-schema");
+ stmnt.execute(sqlCreateCmd);
+ System.out.println("Adding the jbossesb publisher");
+ stmnt.execute(sqlInsertPubCmd);
+
+ } catch (Throwable e) {
+ e.printStackTrace();
+ System.out.println("We should stop testing, since we don't have a db.");
+ assertTrue(false);
+ }
+ }
public static junit.framework.Test suite() {
return new JUnit4TestAdapter(JmsGatewayListenerUnitTest.class);
}
More information about the jboss-svn-commits
mailing list