[jboss-svn-commits] JBL Code SVN: r7658 - 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 14:39:15 EST 2006
Author: estebanschifman
Date: 2006-11-16 14:39:13 -0500 (Thu, 16 Nov 2006)
New Revision: 7658
Modified:
labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/gateway/FileGatewayListenerUnitTest.java
Log:
Temporary check in - NON FUNCTIONAL - will revert in 5 minutes
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 18:43:20 UTC (rev 7657)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/gateway/FileGatewayListenerUnitTest.java 2006-11-16 19:39:13 UTC (rev 7658)
@@ -23,19 +23,28 @@
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 junit.framework.JUnit4TestAdapter;
import org.apache.log4j.Logger;
+import org.apache.log4j.xml.DOMConfigurator;
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.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -60,6 +69,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
{
@@ -71,6 +85,8 @@
// delete these two just to make sure asserts take the new ones
_doneFile.delete();
_returnFile.delete();
+
+ runBeforeAllTests();
}
@AfterClass
@@ -80,6 +96,9 @@
_esbListenerConfig.delete();
_doneFile.delete();
_returnFile.delete();
+
+ if ("org.hsqldb.jdbcDriver".equals(mDbDriver))
+ HsqldbUtil.stopHsqldb(mDbUrl, mDbUsername, mDbPassword);
}
@Test
@@ -120,7 +139,7 @@
StringBuilder sb = new StringBuilder()
.append("<FileGateway parameterReloadSecs=\"180\">\n")
.append(" <GatewayConfig\n")
- .append(" target-service-category=\"eprManager\"\n")
+ .append(" target-service-category=\"XXeprManagerXX\"\n")
.append(" target-service-name=\"").append(SERVICE_NAME).append("\"\n")
.append(" gatewayClass=\"org.jboss.soa.esb.listeners.gateway.FileGatewayListener\"\n")
.append(" pollLatencySeconds=\"5\"\n")
@@ -140,7 +159,7 @@
StringBuilder sb = new StringBuilder()
.append("<DummyTester parameterReloadSecs=\"180\">\n")
.append(" <DummyActionConfig\n")
- .append(" service-category=\"eprManager\"\n")
+ .append(" service-category=\"XXeprManagerXX\"\n")
.append(" service-name=\"").append(SERVICE_NAME).append("\"\n")
.append(" service-description=\"My Dummy Service Name\"\n")
.append(" epr-description=\"EPR descriptionnnnnnnnnnnnnnn\"\n")
@@ -183,6 +202,62 @@
return out.toString();
}
+ 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(FileGatewayListenerUnitTest.class);
}
More information about the jboss-svn-commits
mailing list