1   /*
2    * $Id: DLQExceptionHandlerTestCase.java 11516 2008-03-31 01:38:13Z rossmason $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.test.usecases.dlq;
12  
13  import org.mule.api.MuleException;
14  import org.mule.api.MuleMessage;
15  import org.mule.module.client.MuleClient;
16  import org.mule.message.ExceptionMessage;
17  import org.mule.tck.FunctionalTestCase;
18  
19  
20  public class DLQExceptionHandlerTestCase extends FunctionalTestCase
21  {
22      protected String getConfigResources()
23      {
24          return "org/mule/test/usecases/dlq/exception-dlq.xml";
25      }
26  
27      public void testDLQ() throws Exception
28      {
29          MuleClient client = new MuleClient();
30          client.dispatch("jms://request.queue", "testing 1 2 3", null);
31  
32          MuleMessage message = client.request("jms://out.queue", 3000);
33          assertNull(message);
34  
35          try
36          {
37              message = client.request("jms://DLQ", 20000);
38          }
39          catch (MuleException e)
40          {
41              e.printStackTrace(System.err);
42          }
43          assertNotNull(message);
44  
45          ExceptionMessage em = (ExceptionMessage)message.getPayload();
46          assertEquals("testing 1 2 3", em.getPayload());
47      }
48  }