1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.tcp;
12
13 import org.mule.api.MuleMessage;
14 import org.mule.module.client.MuleClient;
15 import org.mule.tck.DynamicPortTestCase;
16 import org.mule.tck.FunctionalTestCase;
17
18 public class TcpFunctionalTestCase extends DynamicPortTestCase
19 {
20
21 protected static String TEST_MESSAGE = "Test TCP Request";
22
23 protected String getConfigResources()
24 {
25 return "tcp-functional-test.xml";
26 }
27
28 public void testSend() throws Exception
29 {
30 MuleClient client = new MuleClient(muleContext);
31 MuleMessage result = client.send("clientEndpoint", TEST_MESSAGE, null);
32 assertEquals(TEST_MESSAGE + " Received", result.getPayloadAsString());
33 }
34
35 public void testDispatchAndReply() throws Exception
36 {
37 MuleClient client = new MuleClient(muleContext);
38 client.dispatch("asyncClientEndpoint", TEST_MESSAGE, null);
39
40 Thread.sleep(100);
41 MuleMessage result = client.request("asyncClientEndpoint", 10000);
42 assertNotNull(result);
43 assertEquals(TEST_MESSAGE + " Received Async", result.getPayloadAsString());
44 }
45
46 public void timeMultipleSend() throws Exception
47 {
48 MuleClient client = new MuleClient(muleContext);
49 long now = System.currentTimeMillis();
50 int count = 1000;
51 for (int i = 0; i < count; i++)
52 {
53 MuleMessage result = client.send("clientEndpoint", TEST_MESSAGE, null);
54 assertEquals(TEST_MESSAGE + " Received", result.getPayloadAsString());
55 }
56 long later = System.currentTimeMillis();
57 double speed = count * 1000.0 / (later - now);
58 logger.error(speed + " messages per second");
59 }
60
61 @Override
62 protected int getNumPortsToFind()
63 {
64 return 2;
65 }
66 }