1
2
3
4
5
6
7
8
9
10 package org.mule.transport.vm.functional;
11
12 import org.mule.api.MuleException;
13 import org.mule.api.MuleMessage;
14 import org.mule.module.client.MuleClient;
15 import org.mule.tck.FunctionalTestCase;
16
17 import java.util.ArrayList;
18 import java.util.List;
19
20 public class VMRequestorTestCase extends FunctionalTestCase
21 {
22
23 protected String getConfigResources()
24 {
25 return "vm/vm-functional-test.xml";
26 }
27
28 public void testRequestorWithUpdateonMessage() throws Exception
29 {
30
31 for (int i = 0; i < 10; i++)
32 {
33 makeClientRequest("test" + i);
34 }
35
36 MuleClient client = new MuleClient(muleContext);
37 List results = new ArrayList();
38 MuleMessage result = null;
39 for (int i = 0; i < 10; i++)
40 {
41 result = client.request("vm://out", 3000L);
42 assertNotNull(result);
43 results.add(result.getPayloadAsString());
44 }
45
46 assertEquals(10, results.size());
47
48
49 result.setOutboundProperty("foo", "bar");
50 }
51
52 protected void makeClientRequest(final String message) throws MuleException
53 {
54 final MuleClient client = new MuleClient(muleContext);
55 Thread t = new Thread(new Runnable()
56 {
57 public void run()
58 {
59 try
60 {
61 client.send("vm://in", message, null);
62 }
63 catch (MuleException e)
64 {
65 fail("failed to dispatch event: " + e);
66 e.printStackTrace();
67 }
68 }
69 }, "test-thread");
70 t.start();
71 }
72
73 }