1
2
3
4
5
6
7 package org.mule.test.integration.models;
8
9 import org.mule.api.MuleMessage;
10 import org.mule.module.client.MuleClient;
11 import org.mule.tck.junit4.FunctionalTestCase;
12
13 import java.util.ArrayList;
14 import java.util.Iterator;
15 import java.util.List;
16
17 import org.junit.Test;
18
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertNotNull;
21
22 public abstract class AbstractPipelineTestCase extends FunctionalTestCase
23 {
24
25 protected int getNumberOfMessages()
26 {
27 return 100;
28 }
29
30 @Test
31 public void testPipelineSynchronous() throws Exception
32 {
33 MuleClient client = new MuleClient(muleContext);
34 List results = new ArrayList();
35 for (int i = 0; i < getNumberOfMessages(); i++)
36 {
37 MuleMessage result = client.send("component1.endpoint", "test", null);
38 assertNotNull(result);
39 results.add(result);
40 }
41
42 assertEquals(results.size(), getNumberOfMessages());
43 for (Iterator iterator = results.iterator(); iterator.hasNext();)
44 {
45 MuleMessage message = (MuleMessage)iterator.next();
46 assertEquals("request received by service 3", message.getPayloadAsString());
47 }
48 }
49
50 @Test
51 public void testPipelineAsynchronous() throws Exception
52 {
53 MuleClient client = new MuleClient(muleContext);
54
55 List results = new ArrayList();
56 for (int i = 0; i < getNumberOfMessages(); i++)
57 {
58 client.dispatch("component1.endpoint", "test", null);
59 }
60
61 for (int i = 0; i < getNumberOfMessages(); i++)
62 {
63 MuleMessage result = client.request("results.endpoint", 1000);
64 assertNotNull(result);
65 results.add(result);
66 }
67 assertEquals(results.size(), getNumberOfMessages());
68 for (Iterator iterator = results.iterator(); iterator.hasNext();)
69 {
70 MuleMessage message = (MuleMessage)iterator.next();
71 assertEquals("request received by service 3", message.getPayloadAsString());
72 }
73 }
74 }