View Javadoc

1   /*
2    * $Id: EndpointLookupRouterTestCase.java 22735 2011-08-25 16:02:35Z dfeist $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.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.routing.lookup;
12  
13  import static org.junit.Assert.assertEquals;
14  import static org.junit.Assert.assertNotNull;
15  import static org.junit.Assert.assertTrue;
16  
17  import org.mule.api.MuleMessage;
18  import org.mule.api.routing.CouldNotRouteOutboundMessageException;
19  import org.mule.module.client.MuleClient;
20  import org.mule.tck.junit4.FunctionalTestCase;
21  
22  import org.junit.Test;
23  
24  /**
25   * The router looks up a list of endpoints from an XML file and passes them to the
26   * <recipient-list-exception-based-router>
27   */
28  public class EndpointLookupRouterTestCase extends FunctionalTestCase
29  {
30  
31      @Override
32      protected String getConfigResources()
33      {
34          return "org/mule/test/usecases/routing/lookup/router-config.xml, org/mule/test/usecases/routing/lookup/services.xml";
35      }
36  
37      @Test
38      public void testRouterSuccess() throws Exception
39      {
40          MuleClient client = new MuleClient(muleContext);
41          MuleMessage reply = client.send("vm://router", "GetID", null);
42          assertNotNull(reply);
43          assertTrue(reply.getPayloadAsString().contains("<ErrorStatus>Success</ErrorStatus>"));
44      }
45  
46      @Test
47      public void testRouterFailure() throws Exception
48      {
49          MuleMessage message = muleContext.getClient().send("vm://routerBad", "GetID", null);
50          assertNotNull(message);
51          assertNotNull(message.getExceptionPayload());
52          assertEquals(CouldNotRouteOutboundMessageException.class, message.getExceptionPayload().getRootException().getClass());
53  
54      }
55  }