1
2
3
4
5
6
7
8
9
10
11 package org.mule.test.integration.spring.events;
12
13 import org.mule.api.MuleEventContext;
14 import org.mule.api.MuleMessage;
15 import org.mule.module.client.MuleClient;
16 import org.mule.tck.DynamicPortTestCase;
17 import org.mule.tck.functional.EventCallback;
18
19 import edu.emory.mathcs.backport.java.util.concurrent.atomic.AtomicInteger;
20
21 public class MuleEventMulticasterTestCase extends DynamicPortTestCase
22 {
23 final AtomicInteger eventCount = new AtomicInteger(0);
24
25 @Override
26 protected String getConfigResources()
27 {
28 return "org/mule/test/integration/spring/events/mule-events-example-app-context.xml";
29 }
30
31 @Override
32 protected void doSetUp() throws Exception
33 {
34 eventCount.set(0);
35 }
36
37 public void testReceiveAsWebService() throws Exception
38 {
39 MuleClient client = new MuleClient(muleContext);
40 OrderManagerBean orderManager = (OrderManagerBean) muleContext.getRegistry().lookupObject("orderManagerBean");
41 assertNotNull(orderManager);
42 EventCallback callback = new EventCallback()
43 {
44 public void eventReceived(MuleEventContext context, Object o) throws Exception
45 {
46 eventCount.incrementAndGet();
47 }
48 };
49 orderManager.setEventCallback(callback);
50
51 Order order = new Order("Sausage and Mash");
52 MuleMessage result = client.send("axis:http://localhost:" + getPorts().get(0) + "/mule/orderManager?method=processOrder", order,
53 null);
54
55 assertNotNull(result);
56 assertEquals("Order 'Sausage and Mash' Processed", (result.getPayload()));
57 }
58
59 @Override
60 protected int getNumPortsToFind()
61 {
62 return 1;
63 }
64 }