User: d_jencks
Date: 01/09/11 21:55:39
Added: src/main/org/jboss/test/jbossmq/test
JBossMQUnitTestCase.java
SelectorParserUnitTestCase.java
Removed: src/main/org/jboss/test/jbossmq/test Main.java
TestSelectorParser.java
Log:
Changed naming scheme of tests to *UnitTestCase.java for short running tests and
*StressTestCase.java for lengthy tests. Made tests-unit and tests-stress targets in
build.xml
Revision Changes Path
1.1
jbosstest/src/main/org/jboss/test/jbossmq/test/JBossMQUnitTestCase.java
Index: JBossMQUnitTestCase.java
===================================================================
/*
* Copyright (c) 2000 Hiram Chirino <[EMAIL PROTECTED]>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package org.jboss.test.jbossmq.test;
import javax.naming.*;
import javax.jms.*;
import java.util.*;
/**
* JBossMQUnitTestCase.java
*
* Some simple tests of spyderMQ
*
* @author
* @version
*/
public class JBossMQUnitTestCase
extends junit.framework.TestCase
{
// Provider specific
static String TOPIC_FACTORY = "ConnectionFactory";
static String QUEUE_FACTORY = "ConnectionFactory";
static String TEST_QUEUE = "queue/testQueue";
static String TEST_TOPIC = "topic/testTopic";
//JMSProviderAdapter providerAdapter;
static Context context;
static QueueConnection queueConnection;
static TopicConnection topicConnection;
public JBossMQUnitTestCase(String name) throws Exception{
super(name);
}
// Emptys out all the messages in a queue
private void drainQueue() throws Exception {
QueueSession session = queueConnection.createQueueSession(false,
Session.AUTO_ACKNOWLEDGE);
Queue queue = (Queue)context.lookup(TEST_QUEUE);
QueueReceiver receiver = session.createReceiver(queue);
Message message = receiver.receive( 2000 );
int c=0;
while( message != null ) {
message = receiver.receive( 2000 );
c++;
}
if( c!=0 )
System.out.println(" Drained "+c+" messages from the queue");
session.close();
}
static public void main ( String []args ) {
String newArgs[] = { "org.jboss.test.jbossmq.test.JBossMQUnitTestCase" };
junit.swingui.TestRunner.main(newArgs);
}
protected void connect() throws Exception {
if( context == null ) {
context = new InitialContext();
}
QueueConnectionFactory queueFactory = (QueueConnectionFactory)
context.lookup(QUEUE_FACTORY);
queueConnection = queueFactory.createQueueConnection();
TopicConnectionFactory topicFactory =
(TopicConnectionFactory)context.lookup(TOPIC_FACTORY);
topicConnection = topicFactory.createTopicConnection();
System.out.println("Connection to spyderMQ established.");
}
protected void disconnect() throws Exception {
queueConnection.close();
topicConnection.close();
}
/**
* Test that messages are ordered by message arrival and priority.
* This also tests :
* Using a non-transacted AUTO_ACKNOWLEDGE session
* Using a QueueReceiver
* Using a QueueSender
* Sending PERSITENT and NON_PERSISTENT text messages.
* Using a QueueBrowser
*/
public void testQueueMessageOrder() throws Exception {
System.out.println("Starting QueueMessageOrder test");
connect();
queueConnection.start();
drainQueue();
QueueSession session = queueConnection.createQueueSession(false,
Session.AUTO_ACKNOWLEDGE);
Queue queue = (Queue)context.lookup(TEST_QUEUE);
QueueSender sender = session.createSender(queue);
TextMessage message = session.createTextMessage();
message.setText("Normal message");
sender.send(queue, message, DeliveryMode.NON_PERSISTENT, 4, 0);
message.setText("Persistent message");
sender.send(queue, message, DeliveryMode.PERSISTENT, 4, 0);
message.setText("High Priority Persistent message");
sender.send(queue, message, DeliveryMode.PERSISTENT, 10, 0);
//message.setText("Expiring Persistent message");
//sender.send(queue, message, DeliveryMode.NON_PERSISTENT, 4, 1);
QueueBrowser browser = session.createBrowser( queue );
Enumeration enum = browser.getEnumeration();
//message = (TextMessage)enum.nextElement();
//if( !message.getText().equals("High Priority Persistent message") )
// throw new Exception("Queue is not prioritizing messages correctly.
Unexpected Message:"+message);
System.out.println(message.getText());
message = (TextMessage)enum.nextElement();
//if( !message.getText().equals("Normal message") )
// throw new Exception("Queue is not ordering messages correctly.
Unexpected Message:"+message);
System.out.println(message.getText());
message = (TextMessage)enum.nextElement();
//if( !message.getText().equals("Persistent message") )
// throw new Exception("Queue is not ordering messages correctly.
Unexpected Message:"+message);
System.out.println(message.getText());
// if( enum.hasMoreElements() )
// throw new Exception("Queue does not expire messages correctly.
Unexpected Message:"+enum.nextElement());
disconnect();
System.out.println("QueueMessageOrder passed");
}
/**
* Test that a using QueueRequestor works.
* this also tests that :
* temporary queues work.
*/
public void testRequestReplyQueue() throws Exception {
System.out.println("Starting RequestReplyQueue test");
connect();
{
queueConnection.start();
drainQueue( );
}
Thread serverThread = new Thread() {
public void run() {
try {
System.out.println("Server Thread Started");
QueueSession session = queueConnection.createQueueSession(false,
Session.AUTO_ACKNOWLEDGE);
Queue queue = (Queue)context.lookup(TEST_QUEUE);
QueueReceiver queueReceiver = session.createReceiver(queue);
boolean done = false;
while ( !done ) {
TextMessage message = (TextMessage) queueReceiver.receive();
Queue tempQueue = (Queue) message.getJMSReplyTo();
QueueSender replySender = session.createSender(tempQueue);
TextMessage reply = session.createTextMessage();
reply.setText("Request Processed");
reply.setJMSCorrelationID(message.getJMSMessageID());
replySender.send(reply);
if( message.getText().equals("Quit") )
done = true;
}
session.close();
System.out.println("Server Thread Finished");
} catch ( Exception e ) {
e.printStackTrace();
}
}
};
serverThread.start();
QueueSession session = queueConnection.createQueueSession(false,
Session.AUTO_ACKNOWLEDGE);
Queue queue = (Queue)context.lookup(TEST_QUEUE);
QueueRequestor queueRequestor = new QueueRequestor(session, queue);
TextMessage message = session.createTextMessage();
message.setText("Request Test");
for( int i=0; i < 5; i ++ ) {
System.out.println("Making client request #"+i);
TextMessage reply = (TextMessage) queueRequestor.request(message);
String replyID = new String(reply.getJMSCorrelationID());
if (!replyID.equals(message.getJMSMessageID()))
throw new Exception("REQUEST: ERROR: Reply does not match sent message");
}
System.out.println("Making client request to shut server down.");
message.setText("Quit");
queueRequestor.request(message);
serverThread.join();
disconnect();
System.out.println("RequestReplyQueue passed");
}
}
1.1
jbosstest/src/main/org/jboss/test/jbossmq/test/SelectorParserUnitTestCase.java
Index: SelectorParserUnitTestCase.java
===================================================================
package org.jboss.test.jbossmq.test;
import java.util.HashMap;
import junit.framework.Test;
import junit.framework.TestCase;
import org.jboss.mq.selectors.Identifier;
import org.jboss.mq.selectors.Operator;
import org.jboss.mq.selectors.SelectorParser;
import org.jboss.mq.selectors.ISelectorParser;
/** Tests of the JavaCC LL(1) parser.
@author [EMAIL PROTECTED]
@version $Revision: 1.1 $
*/
public class SelectorParserUnitTestCase extends TestCase
{
static HashMap identifierMap = new HashMap();
static ISelectorParser parser;
public SelectorParserUnitTestCase(String name)
{
super(name);
}
protected void setUp() throws Exception
{
identifierMap.clear();
if( parser == null )
{
parser = new SelectorParser();
}
}
public void testConstants() throws Exception
{
// String
Object result = parser.parse("'A String'", identifierMap);
System.out.println("parse('A String') -> "+result);
assertTrue("String is 'A String'", result.equals("'A String'"));
// An identifier
result = parser.parse("a_variable$", identifierMap);
System.out.println("parse(a_variable$) -> "+result);
Identifier id = new Identifier("a_variable$");
assertTrue("String is a_variable$", result.equals(id));
// Long
result = parser.parse("12345", identifierMap);
System.out.println("parse(12345) -> "+result);
assertTrue("Long is 12345", result.equals(new Long(12345)));
// Double
result = parser.parse("12345.67", identifierMap);
System.out.println("parse(12345.67) -> "+result);
assertTrue("Double is 12345.67", result.equals(new Double(12345.67)));
}
public void testSimpleUnary() throws Exception
{
// Neg Long
System.out.println("parse(-12345 = -1 * 12345)");
Operator result = (Operator) parser.parse("-12345 = -1 * 12345",
identifierMap);
System.out.println("result -> "+result);
Boolean b = (Boolean) result.apply();
assertTrue("is true", b.booleanValue());
// Neg Double
System.out.println("parse(-1 * 12345.67 = -12345.67)");
result = (Operator) parser.parse("-1 * 12345.67 = -12345.67", identifierMap);
System.out.println("result -> "+result);
b = (Boolean) result.apply();
assertTrue("is true", b.booleanValue());
}
public void testPrecedenceNAssoc() throws Exception
{
System.out.println("parse(4 + 2 * 3 / 2 = 7)");
Operator result = (Operator) parser.parse("4 + 2 * 3 / 2 = 7)",
identifierMap);
System.out.println("result -> "+result);
Boolean b = (Boolean) result.apply();
assertTrue("is true", b.booleanValue());
System.out.println("parse(4 + ((2 * 3) / 2) = 7)");
result = (Operator) parser.parse("4 + ((2 * 3) / 2) = 7)", identifierMap);
System.out.println("result -> "+result);
b = (Boolean) result.apply();
assertTrue("is true", b.booleanValue());
System.out.println("parse(4 * -2 / -1 - 4 = 4)");
result = (Operator) parser.parse("4 * -2 / -1 - 4 = 4)", identifierMap);
System.out.println("result -> "+result);
b = (Boolean) result.apply();
assertTrue("is true", b.booleanValue());
System.out.println("parse(4 * ((-2 / -1) - 4) = -8)");
result = (Operator) parser.parse("4 * ((-2 / -1) - 4) = -8)", identifierMap);
System.out.println("result -> "+result);
b = (Boolean) result.apply();
assertTrue("is true", b.booleanValue());
}
public void testIds() throws Exception
{
System.out.println("parse(a + b * c / d = e)");
Operator result = (Operator) parser.parse("a + b * c / d = e)",
identifierMap);
// 4 + 2 * 3 / 2 = 7
Identifier a = (Identifier) identifierMap.get("a");
a.setValue(new Long(4));
Identifier b = (Identifier) identifierMap.get("b");
b.setValue(new Long(2));
Identifier c = (Identifier) identifierMap.get("c");
c.setValue(new Long(3));
Identifier d = (Identifier) identifierMap.get("d");
d.setValue(new Long(2));
Identifier e = (Identifier) identifierMap.get("e");
e.setValue(new Long(7));
System.out.println("result -> "+result);
Boolean bool = (Boolean) result.apply();
assertTrue("is true", bool.booleanValue());
}
public static void main(java.lang.String[] args)
{
junit.textui.TestRunner.run(SelectorParserUnitTestCase.class);
}
}
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development