1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.vm.functional;
12
13 import org.mule.api.MuleMessage;
14 import org.mule.module.client.MuleClient;
15 import org.mule.tck.FunctionalTestCase;
16
17 public class PersistentBoundedQueueTestCase extends FunctionalTestCase
18 {
19
20 private static final int SLEEP = 100;
21
22 @Override
23 protected String getConfigResources()
24 {
25 return "vm/persistent-bounded-vm-queue-test.xml";
26 }
27
28 public void testBoundedQueue() throws Exception
29 {
30 MuleClient client = new MuleClient(muleContext);
31 client.send("vm://in", "Test1", null);
32 Thread.sleep(SLEEP);
33 client.send("vm://in", "Test2", null);
34 Thread.sleep(SLEEP);
35 client.send("vm://in", "Test3", null);
36 Thread.sleep(SLEEP);
37
38
39 Thread.sleep(muleContext.getConfiguration().getDefaultQueueTimeout());
40
41 MuleMessage result = client.request("vm://out", RECEIVE_TIMEOUT);
42 assertNotNull(result);
43 assertEquals("Test1", result.getPayloadAsString());
44 result = client.request("vm://out", RECEIVE_TIMEOUT);
45 assertNotNull(result);
46 assertEquals("Test2", result.getPayloadAsString());
47 Thread.sleep(SLEEP);
48 result = client.request("vm://out", RECEIVE_TIMEOUT);
49 if (result != null) {
50 System.out.println("result = " + result.getPayloadAsString());
51 }
52 assertNull(result);
53 }
54
55 }