1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.tcp.integration;
12
13 import org.mule.DefaultMuleMessage;
14 import org.mule.api.MuleMessage;
15 import org.mule.module.client.MuleClient;
16 import org.mule.tck.FunctionalTestCase;
17
18
19
20
21 public class MuleMessageProtocolChunkingTestCase extends FunctionalTestCase
22 {
23
24 public static final long WAIT_MS = 3000L;
25 private static int messages = 2;
26 private static int messagelength = 10;
27
28 public void testChunking() throws Exception
29 {
30 String message = "";
31 for (int i = 0; i < messagelength; i++)
32 {
33 for (int j = 0; j < 10; j++)
34 message += i;
35 }
36 sendString(message);
37 }
38
39 public void testHugeChunk() throws Exception
40 {
41 StringBuffer message = new StringBuffer();
42
43 for (int i = 1000; i < 2000; i++)
44 {
45 message.append(i);
46 }
47 sendString(message.toString());
48 }
49
50 public void testCustomObject() throws Exception
51 {
52 MuleClient client = new MuleClient();
53 StringBuffer sBuffer = new StringBuffer();
54
55 for (int i = 10000; i < 20000; i++)
56 {
57 sBuffer.append(i);
58 }
59 MessageObject message = new MessageObject(1, sBuffer.toString(), true);
60
61 for (int i = 0; i < messages; i++)
62 {
63 client.dispatch("vm://in", new DefaultMuleMessage(message));
64 }
65
66 for (int i = 0; i < messages; i++)
67 {
68 MuleMessage msg = client.request("vm://out", WAIT_MS);
69 assertNotNull(msg);
70 assertTrue(msg.getPayload() instanceof MessageObject);
71 MessageObject received = (MessageObject)msg.getPayload();
72 assertEquals(message.s, received.s);
73 assertEquals(1, received.i);
74 assertEquals(true, received.b);
75 }
76 }
77
78 private void sendString(String message) throws Exception
79 {
80 MuleClient client = new MuleClient();
81
82 for (int i = 0; i < messages; i++)
83 {
84 client.dispatch("vm://in", new DefaultMuleMessage(message));
85 }
86 for (int i = 0; i < messages; i++)
87 {
88 MuleMessage msg = client.request("vm://out", WAIT_MS);
89 assertEquals(message, new String((byte[])msg.getPayload()));
90 }
91 }
92
93 protected String getConfigResources()
94 {
95 return "mule-message-protocol-mule-config.xml";
96 }
97
98 }