View Javadoc

1   /*
2    * $Id: VmPropertyScopeTestCase.java 22617 2011-08-09 05:49:23Z mike.schilling $
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.integration.message;
12  
13  import org.mule.DefaultMuleMessage;
14  import org.mule.api.MuleMessage;
15  import org.mule.api.client.LocalMuleClient;
16  
17  import java.util.Arrays;
18  import java.util.Collection;
19  
20  import org.junit.Test;
21  import org.junit.runners.Parameterized.Parameters;
22  
23  import static org.junit.Assert.assertEquals;
24  import static org.junit.Assert.assertNull;
25  
26  public class VmPropertyScopeTestCase extends AbstractPropertyScopeTestCase
27  {
28      @Parameters
29      public static Collection<Object[]> parameters()
30      {
31          return Arrays.asList(new Object[][]{
32              {ConfigVariant.SERVICE, "org/mule/test/message/vm-property-scope-service.xml"},
33              {ConfigVariant.FLOW, "org/mule/test/message/vm-property-scope-flow.xml"}});
34      }
35  
36      public VmPropertyScopeTestCase(ConfigVariant variant, String configResources)
37      {
38          super(variant, configResources);
39      }
40  
41      @Test
42      public void testRequestResponseChain() throws Exception
43      {
44          LocalMuleClient client = muleContext.getClient();
45          MuleMessage message = new DefaultMuleMessage("test", muleContext);
46          message.setOutboundProperty("foo", "fooValue");
47  
48          MuleMessage result = client.send("inbound2", message);
49          assertEquals("test bar", result.getPayload());
50          assertEquals("fooValue", result.<Object> getInboundProperty("foo4"));
51      }
52  
53      @Test
54      public void testOneWay() throws Exception
55      {
56          LocalMuleClient client = muleContext.getClient();
57          MuleMessage message = new DefaultMuleMessage("test", muleContext);
58          message.setOutboundProperty("foo", "fooValue");
59  
60          client.dispatch("vm://queueIn", message);
61          MuleMessage result = client.request("vm://queueOut", 2000);
62          assertEquals("test bar", result.getPayload());
63          assertEquals("fooValue", result.<Object> getInboundProperty("foo2"));
64      }
65  
66      @Test
67      public void testRRToOneWay() throws Exception
68      {
69          LocalMuleClient client = muleContext.getClient();
70          MuleMessage message = new DefaultMuleMessage("test", muleContext);
71          message.setOutboundProperty("foo", "rrfooValue");
72  
73          MuleMessage echo = client.send("vm://rrQueueIn", message);
74          MuleMessage result = client.request("vm://rrQueueOut", 2000);
75          assertEquals("test baz", result.getPayload());
76          assertEquals("rrfooValue", result.<Object> getInboundProperty("foo2"));
77      }
78  
79      @Test
80      public void testSimpleQueueAccess() throws Exception
81      {
82          LocalMuleClient client = muleContext.getClient();
83          MuleMessage message = new DefaultMuleMessage("test", muleContext);
84          message.setOutboundProperty("foo", "rrfooValue");
85  
86          client.dispatch("vm://notInConfig", message);
87          MuleMessage result = client.request("vm://notInConfig", 2000);
88          assertEquals("test", result.getPayload());
89          assertEquals("rrfooValue", result.<Object> getInboundProperty("foo"));
90      }
91  }