View Javadoc

1   /*
2    * $Id: CallAndExpectPayloadResult.java 19201 2010-08-26 03:07:16Z dirk.olmes $
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.module.cxf.payload;
12  
13  import org.mule.api.MuleContext;
14  import org.mule.api.MuleException;
15  import org.mule.api.MuleMessage;
16  import org.mule.module.client.MuleClient;
17  
18  import junit.framework.TestCase;
19  
20  /**
21   *
22   */
23  class CallAndExpectPayloadResult implements CallAndExpect
24  {
25      private Object expectedPayloadResult;
26      private String outputEndpointName;
27      private Object payload;
28      private final MuleContext muleContext;
29  
30      public CallAndExpectPayloadResult(String outputEndpointName,
31                                        Object payload,
32                                        Object expectedPayloadResult,
33                                        MuleContext muleContext)
34      {
35          this.expectedPayloadResult = expectedPayloadResult;
36          this.outputEndpointName = outputEndpointName;
37          this.payload = payload;
38          this.muleContext = muleContext;
39      }
40  
41      public void callEndpointAndExecuteAsserts() throws MuleException
42      {
43          MuleClient client = new MuleClient(muleContext);
44          MuleMessage result = client.send(outputEndpointName, payload, null);
45  
46          TestCase.assertEquals(here(), expectedPayloadResult, result.getPayload());
47      }
48  
49      private String here()
50      {
51          return "In [" + outputEndpointName + "," + payload + "," + expectedPayloadResult + "]";
52      }
53  }