[jboss-svn-commits] JBL Code SVN: r7647 - in labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb: listeners/old messagestore

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Nov 16 10:48:41 EST 2006


Author: kurt.stam at jboss.com
Date: 2006-11-16 10:48:39 -0500 (Thu, 16 Nov 2006)
New Revision: 7647

Modified:
   labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/old/JmsQueueListenerTest.java
   labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreTest.java
Log:
Fixing test so it leaves the hsqldb up and running. Prevents socket connection problems.

Modified: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/old/JmsQueueListenerTest.java
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/old/JmsQueueListenerTest.java	2006-11-16 15:23:58 UTC (rev 7646)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/old/JmsQueueListenerTest.java	2006-11-16 15:48:39 UTC (rev 7647)
@@ -26,7 +26,6 @@
 import junit.framework.TestCase;
 
 import org.jboss.soa.esb.helpers.KeyValuePair;
-import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
 import org.jboss.soa.esb.util.ClassUtils;
 import org.jboss.soa.esb.util.FileUtils;
 import org.jboss.soa.esb.util.JMSClientUtil;

Modified: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreTest.java
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreTest.java	2006-11-16 15:23:58 UTC (rev 7646)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreTest.java	2006-11-16 15:48:39 UTC (rev 7647)
@@ -21,6 +21,8 @@
 
 package org.jboss.soa.esb.messagestore;
 
+import static org.junit.Assert.assertTrue;
+
 import java.io.File;
 import java.net.URI;
 import java.sql.Connection;
@@ -29,9 +31,10 @@
 import java.util.List;
 import java.util.Random;
 
-import junit.framework.TestCase;
+import junit.framework.JUnit4TestAdapter;
 
 import org.apache.log4j.Logger;
+import org.apache.log4j.xml.DOMConfigurator;
 import org.jboss.soa.esb.services.persistence.MessageStoreType;
 import org.jboss.internal.soa.esb.persistence.format.db.DBConnectionManager;
 import org.jboss.soa.esb.common.Configuration;
@@ -41,61 +44,50 @@
 import org.jboss.soa.esb.services.persistence.MessageStore;
 import org.jboss.soa.esb.services.persistence.MessageStoreFactory;
 import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
 
 /**
  * @author dbrum
  *
  */
-public class MessageStoreTest extends TestCase {
+public class MessageStoreTest  {
 	private static Logger logger = Logger.getLogger(MessageStoreTest.class);
 	
+	@Test
 	public void testMultiClientLoad() throws Exception {
-		TestEnvironmentUtil.setESBPropertiesFileToUse("product");
-		MessageStoreTest.runBeforeAllTests();
 		int clients = 5;
-		
 		Thread[] xx = new Thread[clients];
 		for (int i=0; i<clients; i++) {
 			xx[i] = new Thread(new MessageStoreClient());
 		}
-		
 		for (int i=0; i<clients; i++) {
 			xx[i].start();
 		}
-		
 		//clean up the threads
 		for (int i=0; i<clients; i++) {
 			xx[i] = null;
 		}
-		
 	}
 	
+	@Test
 	public void testSingleLoad() throws Exception {
 		long startTime=System.currentTimeMillis();
 		int requestors = 1000;	//number of persist calls to make
-		
-		
 		List<URI> uriList = new ArrayList<URI>();
-		
-		TestEnvironmentUtil.setESBPropertiesFileToUse("product");
-		MessageStoreTest.runBeforeAllTests();
-		
 		//get the database store
 		MessageStore store = MessageStoreFactory.getInstance().getMessageStore(MessageStoreType.DATABASE);
-		
 		//messages to persist
 		Message msg[] = { MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML), 
 						 MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED)};		
-		
 		//set some content inside the Messages
 		for (int x=0; x<msg.length; x++) {
 			msg[x].getBody().setContents("TEST BODY".getBytes());
 			msg[x].getProperties().setProperty("prop"+x, "val"+x);
 			msg[x].getAttachment().addItem(new String("TEST ATTACHMENT"));						
 		}
-		
 		//loop through adding the messages
-		
 		Random rndMsg = new Random();
 		for (int x=0; x<=requestors; x++) {
 			URI uid = store.addMessage(msg[rndMsg.nextInt(2)]);	
@@ -104,69 +96,60 @@
 			else
 				uriList.add(uid);
 		}
-		
 		logger.info("total messages persisted to db: " + (uriList.size()-1));
-		
 		//loop back reading the messages from the db
 		List<Message> messages = new ArrayList<Message>();
 		for (int x=0; x<uriList.size(); x++) {
 			messages.add(store.getMessage(uriList.get(x)));
 		}
-		
-		
-		
 		logger.info("total messages read from db: " + (uriList.size()));
 		logger.info("time to finish write/read for this client: " + (System.currentTimeMillis() - startTime) + " milliseconds.");
-		
-		MessageStoreTest.runAfterAllTests();
-		
 	}
 	
-	protected static void runBeforeAllTests() throws Exception{
-		
-		TestEnvironmentUtil.setESBPropertiesFileToUse("product");						
-		if (Configuration.getStoreDriver().equals("org.hsqldb.jdbcDriver")) {
-			HsqldbUtil.startHsqldb(TestEnvironmentUtil.getUserDir("product") + "build/hsqltestdb", "jbossesb");
-			//Get the registry-schema create scripts
-			String database = "hsqldb";
-			logger.info("TestUtil.getPrefixForQA() returns: " + TestEnvironmentUtil.getUserDir("product"));
-			String sqlDir = "../" + TestEnvironmentUtil.getUserDir("product") + "install/message-store/sql/" + database + "/";
-			//Drop what is there now, if exists. We want to start fresh.				
-			String sqlCreateCmd    = TestEnvironmentUtil.readTextFile(new File(sqlDir + "create_database.sql"));
-			String sqlDropCmd      = TestEnvironmentUtil.readTextFile(new File(sqlDir + "drop_database.sql"));
-			
-			DBConnectionManager mgr = DBConnectionManager.getInstance();
-			Connection con = mgr.getConnection();
-			Statement stmnt = con.createStatement();
-			System.out.println("Dropping the schema if exist");
-			stmnt.execute(sqlDropCmd);
-			System.out.println("Creating the message store schema");
-			stmnt.execute(sqlCreateCmd);
+	@BeforeClass
+	public static void runBeforeAllTests()
+	{
+		try {
+			DOMConfigurator.configure(TestEnvironmentUtil.getUserDir("product","../product") + "etc/test/resources/log4j.xml");
+			TestEnvironmentUtil.setESBPropertiesFileToUse("product","../product");						
+			if (Configuration.getStoreDriver().equals("org.hsqldb.jdbcDriver")) {
+				HsqldbUtil.startHsqldb(TestEnvironmentUtil.getUserDir("product") + "build/hsqltestdb", "jbossesb");
+				//Get the registry-schema create scripts
+				String database = "hsqldb";
+				logger.info("TestUtil.getPrefixForQA() returns: " + TestEnvironmentUtil.getUserDir("product"));
+				String sqlDir = TestEnvironmentUtil.getUserDir("product","../product") + "install/message-store/sql/" + database + "/";
+				//Drop what is there now, if exists. We want to start fresh.				
+				String sqlCreateCmd    = TestEnvironmentUtil.readTextFile(new File(sqlDir + "create_database.sql"));
+				String sqlDropCmd      = TestEnvironmentUtil.readTextFile(new File(sqlDir + "drop_database.sql"));
+				
+				DBConnectionManager mgr = DBConnectionManager.getInstance();
+				Connection con = mgr.getConnection();
+				Statement stmnt = con.createStatement();
+				System.out.println("Dropping the schema if exist");
+				stmnt.execute(sqlDropCmd);
+				System.out.println("Creating the message store schema");
+				stmnt.execute(sqlCreateCmd);
+			}
+		} catch (Throwable e) {
+			e.printStackTrace();
+			System.out.println("We should stop testing, since we don't have a db.");
+			assertTrue(false);
 		}
 		
 	}
 	
-	private static void runAfterAllTests() throws Exception{
-		
+	@AfterClass
+	public static void runAfterAllTests() throws Exception{
+		Thread.sleep(2000);
 		if (Configuration.getStoreDriver().equals("org.hsqldb.jdbcDriver")) {
 			HsqldbUtil.stopHsqldb(Configuration.getStoreUrl(),
 					Configuration.getStoreUser(),Configuration.getStorePwd() );
 		}
 	}
 	
-//	public static void main(String args[]) {
-//		//fire up the DB connections into the pool and give it 5 seconds to establish the connections
-//		DBConnectionManager2.getInstance();		
-//		
-//		MessageStoreTest test = new MessageStoreTest();
-//		try {
-////			test.testSingleLoad();
-//			test.testMultiClientLoad();
-//		} catch (Exception e) {
-//			// TODO Auto-generated catch block
-//			e.printStackTrace();
-//		}
-//	}
+	public static junit.framework.Test suite() {
+		return new JUnit4TestAdapter(MessageStoreTest.class);
+	}
 	
 	
 }




More information about the jboss-svn-commits mailing list