[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