1 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 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 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 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 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 |