[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