[jboss-cvs] jboss-jms/tests/src/org/jboss/test/messaging/jms/server/destination ...

Timothy Fox tim.fox at jboss.com
Mon Jul 17 13:14:52 EDT 2006


  User: timfox  
  Date: 06/07/17 13:14:52

  Modified:    tests/src/org/jboss/test/messaging/jms/server/destination  
                        QueueManagementTest.java TopicManagementTest.java
  Log:
  Many changes including implementation of prefetch, SEDAisation of server, changing of recovery
  
  Revision  Changes    Path
  1.10      +148 -125  jboss-jms/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: QueueManagementTest.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-jms/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -b -r1.9 -r1.10
  --- QueueManagementTest.java	24 Jun 2006 09:05:40 -0000	1.9
  +++ QueueManagementTest.java	17 Jul 2006 17:14:52 -0000	1.10
  @@ -42,9 +42,10 @@
    * Tests a queue's management interface.
    *
    * @author <a href="mailto:ovidiu at jboss.org">Ovidiu Feodorov</a>
  - * @version <tt>$Revision: 1.9 $</tt>
  + * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
  + * @version <tt>$Revision: 1.10 $</tt>
    *
  - * $Id: QueueManagementTest.java,v 1.9 2006/06/24 09:05:40 timfox Exp $
  + * $Id: QueueManagementTest.java,v 1.10 2006/07/17 17:14:52 timfox Exp $
    */
   public class QueueManagementTest extends DestinationManagementTestBase
   {
  @@ -176,6 +177,9 @@
         ConnectionFactory cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
         
         ServerManagement.deployQueue("QueueMessageCount");
  +      
  +      try
  +      {
         Queue queue = (Queue)ic.lookup("/queue/QueueMessageCount");
         
         // Test MessageCount, should be 0 msg
  @@ -211,9 +215,13 @@
         // Test MessageCount again, should be 0 msg
         count = (Integer)ServerManagement.getAttribute(destObjectName, "MessageCount");
         assertEquals(0, count.intValue());
  +      }
  +      finally
  +      {
         
         ServerManagement.undeployQueue("QueueMessageCount");
      }
  +   }
      
      // TODO this test should be done in DestinationManagementTestBase, once implemented in Topic
      // TODO this only tests reliable non-tx messages
  @@ -223,6 +231,9 @@
         ConnectionFactory cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
         
         ServerManagement.deployQueue("QueueRemoveMessages");
  +      
  +      try
  +      {
         Queue queue = (Queue)ic.lookup("/queue/QueueRemoveMessages");
         
         // Send 1 message to queue
  @@ -257,11 +268,15 @@
         Object ms = cons.receive();
         assertTrue(ms instanceof TextMessage);
         assertEquals(((TextMessage)ms).getText(), MESSAGE_TWO);
  +         Thread.sleep(500);
         assertNull(cons.receiveNoWait());
         conn.close();
  -      
  +      }
  +      finally
  +      {      
         ServerManagement.undeployQueue("QueueRemoveMessages");
      }
  +   }
      
      public void testListMessages() throws Exception
      {
  @@ -269,6 +284,10 @@
         ConnectionFactory cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
         
         ServerManagement.deployQueue("QueueListMessages");
  +      
  +      try
  +      {
  +         
         Queue queue = (Queue)ic.lookup("/queue/QueueListMessages");
         
         // Test listMessages, should be 0 msg
  @@ -320,9 +339,13 @@
               new Object[] {null}, 
               new String[] {"java.lang.String"});
         assertEquals(0, list.size());
  +      }
  +      finally
  +      {
         
         ServerManagement.undeployQueue("QueueListMessages");
      }
  +   }
   
      /**
       * The jmx-console has the habit of sending an empty string if no argument is specified, so
  
  
  
  1.18      +597 -525  jboss-jms/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: TopicManagementTest.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-jms/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -b -r1.17 -r1.18
  --- TopicManagementTest.java	24 Jun 2006 09:05:40 -0000	1.17
  +++ TopicManagementTest.java	17 Jul 2006 17:14:52 -0000	1.18
  @@ -48,9 +48,10 @@
    * Tests a topic's management interface.
    *
    * @author <a href="mailto:ovidiu at jboss.org">Ovidiu Feodorov</a>
  - * @version <tt>$Revision: 1.17 $</tt>
  + * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
  + * @version <tt>$Revision: 1.18 $</tt>
    *
  - * $Id: TopicManagementTest.java,v 1.17 2006/06/24 09:05:40 timfox Exp $
  + * $Id: TopicManagementTest.java,v 1.18 2006/07/17 17:14:52 timfox Exp $
    */
   public class TopicManagementTest extends DestinationManagementTestBase
   {
  @@ -91,6 +92,9 @@
         
         ObjectName destObjectName = deploy(config);
   
  +      try
  +      {
  +   
         assertEquals("ReloadTopic", ServerManagement.getAttribute(destObjectName, "Name"));
   
         String jndiName = "/topic/ReloadTopic";
  @@ -181,9 +185,12 @@
         }
         
         conn.close();      
  -      
  +      }
  +      finally
  +      {      
         undeployDestination("ReloadTopic");
      }
  +   }
      
      /**
       * Test subscriptionCount() and subscriptionCount(boolean durable).
  @@ -195,6 +202,9 @@
         TopicConnectionFactory cf = (JBossConnectionFactory)ic.lookup("/ConnectionFactory");
    
         ServerManagement.deployTopic("TopicSubscription");
  +      
  +      try
  +      {
         Topic topic = (Topic)ic.lookup("/topic/TopicSubscription");
   
         TopicConnection conn = cf.createTopicConnection();
  @@ -308,8 +318,13 @@
               new String[] {"boolean"});
         assertEquals(0, nonduraCount.intValue());
         
  +      }
  +      finally
  +      {
  +      
         ServerManagement.undeployTopic("TopicSubscription");
      }
  +   }
   
      /**
       * XXX Placeholder
  @@ -411,6 +426,9 @@
         TopicConnectionFactory cf = (JBossConnectionFactory)ic.lookup("/ConnectionFactory");
    
         ServerManagement.deployTopic("TopicSubscriptionListAsText");
  +      
  +      try
  +      {
         Topic topic = (Topic)ic.lookup("/topic/TopicSubscriptionListAsText");
   
         TopicConnection conn = cf.createTopicConnection();
  @@ -500,10 +518,13 @@
               new String[] {"boolean"});
         nonDurableStart = text.indexOf("Non-durable");
         assertTrue(-1 == nonDurableStart);
  -      
  +      }
  +      finally
  +      {      
         ServerManagement.undeployTopic("TopicSubscriptionListAsText");
         ServerManagement.undeployTopic("TopicSubscription");
      }
  +   }
   
      /**
       * Test removeAllMessages().
  @@ -515,6 +536,9 @@
         TopicConnectionFactory cf = (JBossConnectionFactory)ic.lookup("/ConnectionFactory");
    
         ServerManagement.deployTopic("TopicRemoveAllMessages");
  +      
  +      try
  +      {
         Topic topic = (Topic)ic.lookup("/topic/TopicRemoveAllMessages");
   
         TopicConnection conn = cf.createTopicConnection();
  @@ -532,17 +556,37 @@
         // Send 1 message
         prod.send(s.createTextMessage("First one"));
         
  +         ObjectName destObjectName = 
  +            new ObjectName("jboss.messaging.destination:service=Topic,name=TopicRemoveAllMessages");
  +         List listMsg = (List)ServerManagement.invoke(destObjectName, 
  +                  "listMessagesDurableSub",
  +                  new Object[] {"Durable1", "Client1", null},
  +                  new String[] {"java.lang.String", "java.lang.String", "java.lang.String"});         
  +         assertEquals(1, listMsg.size());
  +         
  +         //TODO - Why the heck isn't there a messageCount method on the subscription
  +         //like there is on queue??????????
  +         
         // Start the connection for delivery
         conn.start();
   
         // Remove all messages from the topic
  -      ObjectName destObjectName = 
  -         new ObjectName("jboss.messaging.destination:service=Topic,name=TopicRemoveAllMessages");
  +         
         ServerManagement.invoke(destObjectName, "removeAllMessages", null, null);
   
         // Try to receive messages from the two subscriptions, should be null
  -      assertNull(tsDurable.receiveNoWait());
  -      assertNull(tsNonDurable.receiveNoWait());
  +         
  +         //This is not valid - the messages will already be in the consumer endpoints and
  +         //possibly the client consumers
  +//         assertNull(tsDurable.receiveNoWait());
  +//         assertNull(tsNonDurable.receiveNoWait());
  +         
  +         listMsg = (List)ServerManagement.invoke(destObjectName, 
  +                  "listMessagesDurableSub",
  +                  new Object[] {"Durable1", "Client1", null},
  +                  new String[] {"java.lang.String", "java.lang.String", "java.lang.String"});         
  +         assertEquals(0, listMsg.size());
  +         
         
         // Now close the connection
         conn.close();
  @@ -557,6 +601,12 @@
         // Send another message
         prod.send(s.createTextMessage("Second one"));
         
  +         listMsg = (List)ServerManagement.invoke(destObjectName, 
  +                  "listMessagesDurableSub",
  +                  new Object[] {"Durable1", "Client1", null},
  +                  new String[] {"java.lang.String", "java.lang.String", "java.lang.String"});         
  +         assertEquals(1, listMsg.size());
  +         
         // Start the connection for delivery
         conn.start();
         
  @@ -565,12 +615,22 @@
   
         // Restore the durable subscription now, the message should be already gone
         tsDurable = s.createDurableSubscriber(topic, "Durable1");
  -      assertNull(tsDurable.receiveNoWait());
  +         //assertNull(tsDurable.receiveNoWait());
  +         
  +         listMsg = (List)ServerManagement.invoke(destObjectName, 
  +                  "listMessagesDurableSub",
  +                  new Object[] {"Durable1", "Client1", null},
  +                  new String[] {"java.lang.String", "java.lang.String", "java.lang.String"});         
  +         assertEquals(0, listMsg.size());
         
         // Clean-up
         conn.close();
  +      }
  +      finally
  +      {         
         ServerManagement.undeployTopic("TopicRemoveAllMessages");
      }
  +   }
     
      public void testListMessages() throws Exception
      {
  @@ -580,6 +640,9 @@
         TopicConnectionFactory cf = (JBossConnectionFactory)ic.lookup("/ConnectionFactory");
    
         ServerManagement.deployTopic("TopicMessageList");
  +      
  +      try
  +      {
         Topic topic = (Topic)ic.lookup("/topic/TopicMessageList");
   
         TopicConnection conn = cf.createTopicConnection();
  @@ -616,8 +679,6 @@
         assertTrue(listMsg.get(0) instanceof TextMessage);
         assertEquals(((TextMessage)listMsg.get(0)).getText(), "First one");
         
  -      log.info(strSub);
  -      
         // Non-durable sub 1
         int ptr1 = strSub.indexOf("Non-durable, subscriptionID=\"");
         int ptr2 = strSub.indexOf("\"", ptr1 + 30);
  @@ -662,88 +723,92 @@
         
         // Clean-up
         conn.close();
  -      ServerManagement.undeployTopic("TopicMessageList");
  -      
  -      ServerManagement.undeployTopic("TopicSubscriptionListAsText");
      }
  -
  -   /*
  -    * XXX Placeholder
  -    * 
  -   public void testListMessages() throws Exception
  +      finally
      {
  -      InitialContext ic = new InitialContext(ServerManagement.getJNDIEnvironment());
  -      TopicConnectionFactory cf = (JBossConnectionFactory)ic.lookup("/ConnectionFactory");
  - 
  -      ServerManagement.deployTopic("TopicMessageList");
  -      Topic topic = (Topic)ic.lookup("/topic/TopicMessageList");
  -
  -      TopicConnection conn = cf.createTopicConnection();
  -
  -      conn.setClientID("Client1");
  -
  -      TopicSession s = conn.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
  -      MessageProducer prod = s.createProducer(topic);
  -      prod.setDeliveryMode(DeliveryMode.PERSISTENT);
  -
  -      // Create 1 durable subscription and 2 non-durable subscription
  -      s.createDurableSubscriber(topic, "SubscriberA");
  -      
  -      s.createSubscriber(topic);
  -      s.createSubscriber(topic);
  -      
  -      // Send 1 message
  -      prod.send(s.createTextMessage("First one"));
  -      
  -      // Start the connection for delivery
  -      conn.start();
  +         ServerManagement.undeployTopic("TopicMessageList");
   
  -      // There should be 3 subscriptions
  -      ObjectName destObjectName = 
  -         new ObjectName("jboss.messaging.destination:service=Topic,name=TopicMessageList");
  -      List listSub = (List)ServerManagement.invoke(destObjectName, "listSubscriptions", null, null);
  -      assertEquals(3, listSub.size());
  -      // Each subscription will have the same message
  -      for (int i = 0; i < 3; i++)
  -      {
  -         String[] strs = (String[])listSub.get(i);
  -         List listMsg = (List)ServerManagement.invoke(destObjectName, 
  -               "listMessages",
  -               new Object[] {new Long(strs[0]), strs[1], strs[2], null},
  -               new String[] {"long", "java.lang.String", "java.lang.String", "java.lang.String"});
  -         assertEquals(1, listMsg.size());
  -         assertTrue(listMsg.get(0) instanceof TextMessage);
  -         assertEquals(((TextMessage)listMsg.get(0)).getText(), "First one");
  +         ServerManagement.undeployTopic("TopicSubscriptionListAsText");
         }
  -
  -      // Send another message
  -      prod.send(s.createTextMessage("Second one"));
  -
  -      // There should be 1 durable subscription
  -      List duraListSub = (List)ServerManagement.invoke(
  -            destObjectName, 
  -            "listSubscriptions", 
  -            new Object[] {Boolean.TRUE}, 
  -            new String[] {"boolean"});
  -      assertEquals(1, duraListSub.size());
  -      String[] strs = (String[])duraListSub.get(0);
  -      // The durable subscription has 2 messages
  -      List listMsg = (List)ServerManagement.invoke(destObjectName, 
  -            "listMessages",
  -            new Object[] {new Long(strs[0]), strs[1], strs[2], null},
  -            new String[] {"long", "java.lang.String", "java.lang.String", "java.lang.String"});
  -      assertEquals(2, listMsg.size());
  -      assertTrue(listMsg.get(0) instanceof TextMessage);
  -      assertTrue(listMsg.get(1) instanceof TextMessage);
  -      assertEquals(((TextMessage)listMsg.get(0)).getText(), "First one");
  -      assertEquals(((TextMessage)listMsg.get(1)).getText(), "Second one");
  -      
  -      // Clean-up
  -      conn.close();
  -      ServerManagement.undeployTopic("TopicMessageList");
      }
  -   */
      
  +//   /*
  +//    * XXX Placeholder
  +//    * 
  +//   public void testListMessages() throws Exception
  +//   {
  +//      InitialContext ic = new InitialContext(ServerManagement.getJNDIEnvironment());
  +//      TopicConnectionFactory cf = (JBossConnectionFactory)ic.lookup("/ConnectionFactory");
  +// 
  +//      ServerManagement.deployTopic("TopicMessageList");
  +//      Topic topic = (Topic)ic.lookup("/topic/TopicMessageList");
  +//
  +//      TopicConnection conn = cf.createTopicConnection();
  +//
  +//      conn.setClientID("Client1");
  +//
  +//      TopicSession s = conn.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
  +//      MessageProducer prod = s.createProducer(topic);
  +//      prod.setDeliveryMode(DeliveryMode.PERSISTENT);
  +//
  +//      // Create 1 durable subscription and 2 non-durable subscription
  +//      s.createDurableSubscriber(topic, "SubscriberA");
  +//      
  +//      s.createSubscriber(topic);
  +//      s.createSubscriber(topic);
  +//      
  +//      // Send 1 message
  +//      prod.send(s.createTextMessage("First one"));
  +//      
  +//      // Start the connection for delivery
  +//      conn.start();
  +//
  +//      // There should be 3 subscriptions
  +//      ObjectName destObjectName = 
  +//         new ObjectName("jboss.messaging.destination:service=Topic,name=TopicMessageList");
  +//      List listSub = (List)ServerManagement.invoke(destObjectName, "listSubscriptions", null, null);
  +//      assertEquals(3, listSub.size());
  +//      // Each subscription will have the same message
  +//      for (int i = 0; i < 3; i++)
  +//      {
  +//         String[] strs = (String[])listSub.get(i);
  +//         List listMsg = (List)ServerManagement.invoke(destObjectName, 
  +//               "listMessages",
  +//               new Object[] {new Long(strs[0]), strs[1], strs[2], null},
  +//               new String[] {"long", "java.lang.String", "java.lang.String", "java.lang.String"});
  +//         assertEquals(1, listMsg.size());
  +//         assertTrue(listMsg.get(0) instanceof TextMessage);
  +//         assertEquals(((TextMessage)listMsg.get(0)).getText(), "First one");
  +//      }
  +//
  +//      // Send another message
  +//      prod.send(s.createTextMessage("Second one"));
  +//
  +//      // There should be 1 durable subscription
  +//      List duraListSub = (List)ServerManagement.invoke(
  +//            destObjectName, 
  +//            "listSubscriptions", 
  +//            new Object[] {Boolean.TRUE}, 
  +//            new String[] {"boolean"});
  +//      assertEquals(1, duraListSub.size());
  +//      String[] strs = (String[])duraListSub.get(0);
  +//      // The durable subscription has 2 messages
  +//      List listMsg = (List)ServerManagement.invoke(destObjectName, 
  +//            "listMessages",
  +//            new Object[] {new Long(strs[0]), strs[1], strs[2], null},
  +//            new String[] {"long", "java.lang.String", "java.lang.String", "java.lang.String"});
  +//      assertEquals(2, listMsg.size());
  +//      assertTrue(listMsg.get(0) instanceof TextMessage);
  +//      assertTrue(listMsg.get(1) instanceof TextMessage);
  +//      assertEquals(((TextMessage)listMsg.get(0)).getText(), "First one");
  +//      assertEquals(((TextMessage)listMsg.get(1)).getText(), "Second one");
  +//      
  +//      // Clean-up
  +//      conn.close();
  +//      ServerManagement.undeployTopic("TopicMessageList");
  +//   }
  +//   */
  +//   
      /**
       * The jmx-console has the habit of sending an empty string if no argument is specified, so
       * we test this eventuality.
  @@ -756,6 +821,9 @@
         TopicConnectionFactory cf = (JBossConnectionFactory)ic.lookup("/ConnectionFactory");
   
         ServerManagement.deployTopic("TopicMessageList2");
  +      
  +      try
  +      {
         Topic topic = (Topic)ic.lookup("/topic/TopicMessageList2");
   
         TopicConnection conn = cf.createTopicConnection();
  @@ -781,9 +849,13 @@
   
         // Clean-up
         conn.close();
  +      }
  +      finally
  +      {
         ServerManagement.undeployTopic("TopicMessageList2");
         ServerManagement.undeployTopic("TopicMessageList");
      }
  +   }
   
      // Package protected ---------------------------------------------
      
  
  
  



More information about the jboss-cvs-commits mailing list