1
2
3
4
5
6
7
8
9
10
11 package org.mule.test.integration.client;
12
13 import org.mule.api.MuleMessage;
14 import org.mule.api.endpoint.InboundEndpoint;
15 import org.mule.module.client.MuleClient;
16 import org.mule.tck.DynamicPortTestCase;
17 import org.mule.tck.testmodels.services.Person;
18
19 public class MuleClientAxisTestCase extends DynamicPortTestCase
20 {
21
22 @Override
23 protected String getConfigResources()
24 {
25 return "org/mule/test/integration/client/axis-client-test-mule-config.xml";
26 }
27
28
29
30
31
32
33
34
35
36 private String getMuleAddress(MuleClient muleClient, String inboundEndpointName)
37 {
38 return ((InboundEndpoint) muleClient.getMuleContext().getRegistry().lookupObject(inboundEndpointName)).getProtocol()
39 + ":"
40 + ((InboundEndpoint) muleClient.getMuleContext().getRegistry().lookupObject(
41 inboundEndpointName)).getAddress();
42 }
43
44 public void testRequestResponse() throws Throwable
45 {
46 MuleClient client = new MuleClient(muleContext);
47 MuleMessage result = client.send(getMuleAddress(client, "inMyComponent2") + "/mycomponent2?method=echo",
48 "test", null);
49 assertNotNull(result);
50 assertEquals("test", result.getPayloadAsString());
51 }
52
53 public void testRequestResponseComplex() throws Exception
54 {
55 MuleClient client = new MuleClient(muleContext);
56
57 MuleMessage result = client.send(
58 getMuleAddress(client, "inMyComponent3") + "/mycomponent3?method=getPerson", "Fred", null);
59 assertNotNull(result);
60 logger.debug(result.getPayload());
61 assertTrue(result.getPayload() instanceof Person);
62 assertEquals("Fred", ((Person)result.getPayload()).getFirstName());
63 assertEquals("Flintstone", ((Person)result.getPayload()).getLastName());
64 }
65
66 public void testRequestResponseComplex2() throws Exception
67 {
68 MuleClient client = new MuleClient(muleContext);
69
70 String[] args = new String[]{"Betty", "Rubble"};
71 MuleMessage result = client.send(
72 getMuleAddress(client, "inMyComponent3") + "/mycomponent3?method=addPerson", args, null);
73 assertNotNull(result);
74 assertTrue(result.getPayload() instanceof Person);
75 assertEquals("Betty", ((Person)result.getPayload()).getFirstName());
76 assertEquals("Rubble", ((Person)result.getPayload()).getLastName());
77
78
79 result = client.send(getMuleAddress(client, "inMyComponent3") + "/mycomponent3?method=getPerson",
80 "Betty", null);
81 assertNotNull(result);
82 assertTrue(result.getPayload() instanceof Person);
83 assertEquals("Betty", ((Person)result.getPayload()).getFirstName());
84 assertEquals("Rubble", ((Person)result.getPayload()).getLastName());
85
86 }
87
88 public void testRequestWithComplexArg() throws Exception
89 {
90 MuleClient client = new MuleClient(muleContext);
91 Person person = new Person("Joe", "Blow");
92 String uri = getMuleAddress(client, "inMyComponent3") + "/mycomponent3?method=addPerson";
93 client.send(uri, person, null);
94 uri = getMuleAddress(client, "inMyComponent3") + "/mycomponent3?method=getPerson";
95 MuleMessage result = client.send(uri, "Joe", null);
96 assertNotNull(result);
97 assertTrue(result.getPayload() instanceof Person);
98 assertEquals("Joe", ((Person)result.getPayload()).getFirstName());
99 assertEquals("Blow", ((Person)result.getPayload()).getLastName());
100 }
101
102 @Override
103 protected int getNumPortsToFind()
104 {
105 return 3;
106 }
107
108 }