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

Reply via email to