[jboss-cvs] JBossAS SVN: r66776 - branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdb/unit.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Nov 6 08:48:31 EST 2007


Author: wolfc
Date: 2007-11-06 08:48:31 -0500 (Tue, 06 Nov 2007)
New Revision: 66776

Modified:
   branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdb/unit/MDBUnitTestCase.java
Log:
JBPAPP-347: Fixed mdb test

Modified: branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdb/unit/MDBUnitTestCase.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdb/unit/MDBUnitTestCase.java	2007-11-06 13:47:45 UTC (rev 66775)
+++ branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdb/unit/MDBUnitTestCase.java	2007-11-06 13:48:31 UTC (rev 66776)
@@ -21,6 +21,7 @@
  */
 package org.jboss.ejb3.test.mdb.unit;
 
+import java.lang.reflect.Method;
 import java.util.Enumeration;
 import java.util.List;
 
@@ -77,9 +78,21 @@
 
    }
 
+   private static ObjectName getDlqName() throws Exception
+   {
+      String jmsProvider = System.getProperty("jboss.jms.provider", "mq");
+      if(jmsProvider.equals("jbm")) jmsProvider = "messaging";
+      return new ObjectName("jboss." + jmsProvider + ".destination:name=DLQ,service=Queue");
+   }
+   
+   private boolean isJBM()
+   {
+      return System.getProperty("jboss.jms.provider", "mq").equals("jbm");
+   }
+   
    private static void removeAllMessagesFromDLQ() throws Exception
    {
-      ObjectName dlqName = new ObjectName("jboss.mq.destination:name=DLQ,service=Queue");
+      ObjectName dlqName = getDlqName();
       ClientKernelAbstraction kernel = KernelAbstractionFactory.getClientInstance();
       kernel.invoke(dlqName, "removeAllMessages", new Object[0], new String[0]);
    }
@@ -357,7 +370,17 @@
 
       Thread.sleep(2000);
 
-      assertSize(session, queue, 0);
+      // JBMESSAGING-1141: a queue browser shows expired messages
+      if(size(session, queue) == 1)
+      {
+         QueueReceiver receiver = session.createReceiver(dlq);
+         message = (TextMessage) receiver.receive(2000);
+         assertNull(message);
+      }
+      else
+      {
+         assertSize(session, queue, 0);
+      }
       
       /* TODO: await implementation of JBMESSAGING-126
       assertSize(session, dlq, 1);
@@ -414,14 +437,21 @@
       assertSize(session, dlq, 1);
 
       QueueReceiver receiver = session.createReceiver(dlq);
-      message = (TextMessage) receiver.receiveNoWait();
+      // JBMESSAGING-1140: wait for the message to arrive
+      message = (TextMessage) receiver.receive(2000);
       assertNotNull(message);
-      // AS 4.x
-      assertEquals("QUEUE.dlqtest", message
-            .getStringProperty("JBOSS_ORIG_DESTINATION"));
-      // AS 5.x
-//      assertEquals("JBossQueue[dlqtest]", message
-//            .getStringProperty("JBOSS_ORIG_DESTINATION"));
+      if(!isJBM())
+      {
+         // MQ (AS 4.x)
+         assertEquals("QUEUE.dlqtest", message
+               .getStringProperty("JBOSS_ORIG_DESTINATION"));
+      }
+      else
+      {
+         // JBM (AS 5.x and EAP 4.3)
+         assertEquals("JBossQueue[dlqtest]", message
+               .getStringProperty("JBOSS_ORIG_DESTINATION"));
+      }
       assertEquals(0L, message.getJMSExpiration());
       assertEquals(text, message.getText());
       assertEquals("bar", message.getStringProperty("foo"));
@@ -536,7 +566,7 @@
 //      // the second message should never have arrived, so the bean ran once
 //      assertEquals("The second message should never have arrived (EJBTHREE-890)", 1, status.expirationQueueRan());
       // In AS 4.2 expiration doesn't work, so the second message will arrive, see EJBTHREE-890
-      assertEquals(2, status.expirationQueueRan());
+      assertEquals(isJBM() ? 1 : 2, status.expirationQueueRan());
    }
 
    public void testCMTTxNotSupported() throws Exception




More information about the jboss-cvs-commits mailing list