View Javadoc

1   /*
2    * $Id: PersistentBoundedQueueTestCase.java 19191 2010-08-25 21:05:23Z tcarlson $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
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      // add some sizeable delat, as queue store ordering won't be guaranteed
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          // wait enough for queue offer to timeout
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  }