[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