KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mule > samples > loanbroker > AxisLoanBrokerSynchronousFunctionalTestCase


1 /*
2  * $Id: AxisLoanBrokerSynchronousFunctionalTestCase.java 4219 2006-12-09 10:15:14Z lajos $
3  * --------------------------------------------------------------------------------------
4  * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com
5  *
6  * The software in this package is published under the terms of the MuleSource MPL
7  * license, a copy of which has been included with this distribution in the
8  * LICENSE.txt file.
9  */

10
11 package org.mule.samples.loanbroker;
12
13 import org.mule.extras.client.MuleClient;
14 import org.mule.providers.NullPayload;
15 import org.mule.tck.FunctionalTestCase;
16 import org.mule.umo.UMOMessage;
17
18 public class AxisLoanBrokerSynchronousFunctionalTestCase extends FunctionalTestCase
19 {
20     
21     public AxisLoanBrokerSynchronousFunctionalTestCase()
22     {
23         super();
24         setDisposeManagerPerSuite(true);
25     }
26
27     protected String JavaDoc getConfigResources()
28     {
29         return "loan-broker-axis-sync-test-config.xml";
30     }
31
32     protected int getNumberOfRequests()
33     {
34         return 10;
35     }
36
37     public void testSingleLoanRequest() throws Exception JavaDoc
38     {
39         MuleClient client = new MuleClient();
40         Customer c = new Customer("Ross Mason", 1234);
41         LoanRequest request = new LoanRequest(c, 100000, 48);
42         UMOMessage result = client.send("vm://LoanBrokerRequests", request, null);
43         assertNotNull(result);
44         assertFalse(result.getPayload() instanceof NullPayload);
45         assertTrue(result.getPayload() instanceof LoanQuote);
46         LoanQuote quote = (LoanQuote)result.getPayload();
47         assertTrue(quote.getInterestRate() > 0);
48     }
49
50     public void testLotsOfLoanRequests() throws Exception JavaDoc
51     {
52         MuleClient client = new MuleClient();
53         Customer c = new Customer("Ross Mason", 1234);
54         LoanRequest[] requests = new LoanRequest[3];
55         requests[0] = new LoanRequest(c, 100000, 48);
56         requests[1] = new LoanRequest(c, 1000, 12);
57         requests[2] = new LoanRequest(c, 10, 24);
58
59         long start = System.currentTimeMillis();
60
61         int numRequests = this.getNumberOfRequests();
62         int i = 0;
63
64         try
65         {
66             for (; i < numRequests; i++)
67             {
68                 LoanRequest loanRequest = requests[i % 3];
69
70                 // must set the CreditProfile to null otherwise the first
71
// JXPathFilter will be bypassed and CreditAgency component will be
72
// bypassed as well!
73
loanRequest.setCreditProfile(null);
74                 UMOMessage result = client.send("vm://LoanBrokerRequests", loanRequest, null);
75                 assertNotNull(result);
76                 assertFalse("received a NullPayload", result.getPayload() instanceof NullPayload);
77                 assertTrue("did not receive a LoanQuote but: " + result.getPayload(),
78                     result.getPayload() instanceof LoanQuote);
79                 LoanQuote quote = (LoanQuote)result.getPayload();
80                 assertTrue(quote.getInterestRate() > 0);
81             }
82         }
83         finally
84         {
85             long el = System.currentTimeMillis() - start;
86             System.out.println("Total running time was: " + el + "ms");
87             System.out.println("Requests processed was: " + i);
88             int mps = (int)(numRequests/((double)el/(double)1000));
89             System.out.println("Msg/sec: " + mps + " (no warm up)");
90         }
91     }
92 }
93
Popular Tags