/******************************************************************************* * Copyright (c) 2006-2010 eBay Inc. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 *******************************************************************************/ package org.ebayopensource.turmeric.runtime.tests.common.sif.async; import java.util.LinkedList; import java.util.List; import javax.xml.ws.Response; import org.ebayopensource.turmeric.runtime.sif.service.InvokerUtil; import org.ebayopensource.turmeric.runtime.sif.service.Service; import org.ebayopensource.turmeric.runtime.sif.service.ServiceFactory; import org.ebayopensource.turmeric.runtime.tests.common.jetty.AbstractWithServerTest; import org.ebayopensource.turmeric.runtime.tests.common.util.TestUtils; import org.ebayopensource.turmeric.runtime.tests.service1.sample.types1.MyMessage; import org.junit.Assert; import org.junit.Test; public class AsyncPollReturnAllTest extends AbstractWithServerTest { private final String ECHO_STRING = "BH Test String"; /** * @throws Exception */ @Test @SuppressWarnings("unchecked") public void remoteBlocking() throws Exception { Service service = ServiceFactory.create("test1", "remote", serverUri.toURL()); service.createDispatch("echoString").invokeAsync( ECHO_STRING + "service1"); List<Response<?>> responseList = service.poll(true, false); Assert.assertTrue(responseList.size() == 1); } @Test @SuppressWarnings("unchecked") public void remoteBlockingTimeout() throws Exception { Service service = ServiceFactory.create("test1", "remote", serverUri.toURL()); service.createDispatch("echoString").invokeAsync( ECHO_STRING + "service1"); List<Response<?>> responseList = service.poll(true, false, 0); Assert.assertTrue(responseList.size() == 0); } /** * the following testcase is exactly same as above. Except that block is * false. If partial is set to false, then "block" parameter does not affect * the behaviour of poll * * @throws Exception */ @Test @SuppressWarnings("unchecked") public void remoteNonBlocking() throws Exception { Service service = ServiceFactory.create("test1", "remote", serverUri.toURL()); service.createDispatch("echoString").invokeAsync( ECHO_STRING + "service1"); List<Response<?>> responseList = service.poll(false, false); Assert.assertTrue(responseList.size() == 1); } @Test @SuppressWarnings("unchecked") public void remoteNonBlockingTimeout() throws Exception { Service service = ServiceFactory.create("test1", "remote", serverUri.toURL()); service.createDispatch("echoString").invokeAsync( ECHO_STRING + "service1"); List<Response<?>> responseList = service.poll(false, false, 0); Assert.assertTrue(responseList.size() < 1); } @Test @SuppressWarnings("unchecked") public void remoteDifferent_Operations_blocking() throws Exception { MyMessage msg = TestUtils.createTestMessage(); Service service = ServiceFactory.create("test1", "remote", serverUri.toURL()); service.createDispatch("echoString").invokeAsync(ECHO_STRING); msg.setBody(msg.getBody()); service.createDispatch("myTestOperation").invokeAsync(msg); List<Response<?>> responseList = service.poll(true, false); Assert.assertTrue(responseList.size() == 2); } @Test @SuppressWarnings("unchecked") public void remoteDifferent_Operations_blocking_timeout() throws Exception { MyMessage msg = TestUtils.createTestMessage(); Service service = ServiceFactory.create("test1", "remote", serverUri.toURL()); service.createDispatch("echoString").invokeAsync(ECHO_STRING); msg.setBody(msg.getBody()); service.createDispatch("myTestOperation").invokeAsync(msg); List<Response<?>> responseList = service.poll(true, false, 0); Assert.assertTrue(responseList.size() <= 2); } @Test @SuppressWarnings("unchecked") public void remoteDifferent_Operations_nonBlocking() throws Exception { MyMessage msg = TestUtils.createTestMessage(); Service service = ServiceFactory.create("test1", "remote", serverUri.toURL()); service.createDispatch("echoString").invokeAsync(ECHO_STRING); msg.setBody(msg.getBody()); service.createDispatch("myTestOperation").invokeAsync(msg); List<Response<?>> responseList = service.poll(false, false); Assert.assertTrue(responseList.size() == 2); } @Test @SuppressWarnings("unchecked") public void remoteDifferent_Operations_nonBlocking_timeout() throws Exception { MyMessage msg = TestUtils.createTestMessage(); Service service = ServiceFactory.create("test1", "remote", serverUri.toURL()); service.createDispatch("echoString").invokeAsync(ECHO_STRING); msg.setBody(msg.getBody()); service.createDispatch("myTestOperation").invokeAsync(msg); List<Response<?>> responseList = service.poll(false, false, 0); Assert.assertTrue(responseList.size() < 2); } /** * @throws Exception */ @Test @SuppressWarnings("unchecked") public void local_Blocking() throws Exception { Service service = ServiceFactory.create("test1", "local", serverUri.toURL()); service.createDispatch("echoString").invokeAsync( ECHO_STRING + "service1"); List<Response<?>> responseList = service.poll(true, false); Assert.assertTrue(responseList.size() == 1); } @Test @SuppressWarnings("unchecked") public void local_Blocking_timeout() throws Exception { Service service = ServiceFactory.create("test1", "local", serverUri.toURL()); service.createDispatch("echoString").invokeAsync( ECHO_STRING + "service1"); List<Response<?>> responseList = service.poll(true, false, 0); Assert.assertTrue(responseList.size() <= 1); } /** * the following testcase is exactly same as above. Except that block is * false. If partial is set to false, then "block" parameter does not affect * the behaviour of poll * * @throws Exception */ @Test @SuppressWarnings("unchecked") public void local_NonBlocking() throws Exception { Service service = ServiceFactory.create("test1", "local", serverUri.toURL()); service.createDispatch("echoString").invokeAsync( ECHO_STRING + "service1"); List<Response<?>> responseList = service.poll(false, false); Assert.assertTrue(responseList.size() == 1); } @Test @SuppressWarnings("unchecked") public void local_NonBlocking_timeout() throws Exception { Service service = ServiceFactory.create("test1", "local", serverUri.toURL()); service.createDispatch("echoString").invokeAsync( ECHO_STRING + "service1"); List<Response<?>> responseList = service.poll(false, false, 0); Assert.assertTrue(responseList.size() <= 1); } @Test @SuppressWarnings("unchecked") public void local_Different_Operations_blocking() throws Exception { MyMessage msg = TestUtils.createTestMessage(); Service service = ServiceFactory.create("test1", "local", serverUri.toURL()); service.createDispatch("echoString").invokeAsync(ECHO_STRING); msg.setBody(msg.getBody()); service.createDispatch("myTestOperation").invokeAsync(msg); List<Response<?>> responseList = service.poll(true, false); Assert.assertTrue(responseList.size() == 2); } @Test @SuppressWarnings("unchecked") public void local_Different_Operations_blocking_timeout() throws Exception { MyMessage msg = TestUtils.createTestMessage(); Service service = ServiceFactory.create("test1", "local", serverUri.toURL()); service.createDispatch("echoString").invokeAsync(ECHO_STRING); msg.setBody(msg.getBody()); service.createDispatch("myTestOperation").invokeAsync(msg); List<Response<?>> responseList = service.poll(true, false, 0); Assert.assertTrue(responseList.size() < 2); } @Test @SuppressWarnings("unchecked") public void local_Different_Operations_nonBlocking() throws Exception { MyMessage msg = TestUtils.createTestMessage(); Service service = ServiceFactory.create("test1", "local", serverUri.toURL()); service.createDispatch("echoString").invokeAsync(ECHO_STRING); msg.setBody(msg.getBody()); service.createDispatch("myTestOperation").invokeAsync(msg); List<Response<?>> responseList = service.poll(false, false); Assert.assertTrue(responseList.size() == 2); } @Test @SuppressWarnings("unchecked") public void local_Different_Operations_nonBlocking_timeout() throws Exception { MyMessage msg = TestUtils.createTestMessage(); Service service = ServiceFactory.create("test1", "local", serverUri.toURL()); service.createDispatch("echoString").invokeAsync(ECHO_STRING); msg.setBody(msg.getBody()); service.createDispatch("myTestOperation").invokeAsync(msg); List<Response<?>> responseList = service.poll(false, false, 0); Assert.assertTrue(responseList.size() < 2); } @Test @SuppressWarnings("unchecked") public void invokerUtilPollLocal() throws Exception { LinkedList<Service> services = new LinkedList<Service>(); for (int i = 0; i < 10; i++) { MyMessage msg = TestUtils.createTestMessage(); Service service = ServiceFactory.create("test1", "local", serverUri.toURL()); service.createDispatch("echoString").invokeAsync(ECHO_STRING); msg.setBody(msg.getBody()); service.createDispatch("myTestOperation").invokeAsync(msg); services.add(service); } List<Response<?>> responses = AsyncPollBlockingTest .getResponseList(InvokerUtil.pollGetAll(services)); Assert.assertTrue(responses.size() == 20); } // @SuppressWarnings("unchecked") // public void testInvokerUtilPollLocalSmallTimeout() throws Exception { // LinkedList<Service> services = new LinkedList<Service>(); // for (int i = 0; i < 10; i++) { // MyMessage msg = TestUtils.createTestMessage(); // Service service = ServiceFactory.create("test1", "local", serverUri.toURL()); // service.createDispatch("echoString").invokeAsync(ECHO_STRING); // msg.setBody(msg.getBody()); // service.createDispatch("myTestOperation").invokeAsync(msg); // services.add(service); // } // System.out // .println("testInvokerUtilPollLocalSmallTimeout: before time : " // + System.currentTimeMillis()); // List<Response<?>> responses = AsyncPollBlockingTest // .getResponseList(InvokerUtil.pollGetAll(services, 0)); // System.out // .println("testInvokerUtilPollLocalSmallTimeout: after time : " // + System.currentTimeMillis()); // Assert.assertTrue(responses.size() < 20); // } // @SuppressWarnings("unchecked") // public void testInvokerUtilPollLocalLargeTimeout() throws Exception { // LinkedList<Service> services = new LinkedList<Service>(); // for (int i = 0; i < 10; i++) { // MyMessage msg = TestUtils.createTestMessage(); // Service service = ServiceFactory.create("test1", "local", serverUri.toURL()); // service.createDispatch("echoString").invokeAsync(ECHO_STRING); // msg.setBody(msg.getBody()); // service.createDispatch("myTestOperation").invokeAsync(msg); // services.add(service); // } // System.out // .println("testInvokerUtilPollLocalLargeTimeout: before time : " // + System.currentTimeMillis()); // List<Response<?>> responses = AsyncPollBlockingTest // .getResponseList(InvokerUtil.pollGetAll(services, 500)); // System.out // .println("testInvokerUtilPollLocalLargeTimeout: after time : " // + System.currentTimeMillis()); // Assert.assertTrue(responses.size() == 20); // } @Test @SuppressWarnings("unchecked") public void invokerUtilPollRemote() throws Exception { LinkedList<Service> services = new LinkedList<Service>(); for (int i = 0; i < 10; i++) { MyMessage msg = TestUtils.createTestMessage(); Service service = ServiceFactory.create("test1", "remote", serverUri.toURL()); service.createDispatch("echoString").invokeAsync(ECHO_STRING); msg.setBody(msg.getBody()); service.createDispatch("myTestOperation").invokeAsync(msg); services.add(service); } List<Response<?>> responses = AsyncPollBlockingTest .getResponseList(InvokerUtil.pollGetAll(services)); Assert.assertTrue(responses.size() == 20); } // @SuppressWarnings("unchecked") // public void testInvokerUtilPollRemoteSmallTimeout() throws Exception { // LinkedList<Service> services = new LinkedList<Service>(); // for (int i = 0; i < 10; i++) { // MyMessage msg = TestUtils.createTestMessage(); // Service service = ServiceFactory.create("test1", "remote", serverUri.toURL()); // service.createDispatch("echoString").invokeAsync(ECHO_STRING); // msg.setBody(msg.getBody()); // service.createDispatch("myTestOperation").invokeAsync(msg); // services.add(service); // } // System.out // .println("testInvokerUtilPollRemoteSmallTimeout: before time : " // + System.currentTimeMillis()); // List<Response<?>> responses = AsyncPollBlockingTest // .getResponseList(InvokerUtil.pollGetAll(services, 0)); // System.out // .println("testInvokerUtilPollRemoteSmallTimeout: after time : " // + System.currentTimeMillis()); // Assert.assertTrue(responses.size() < 20); // } // @SuppressWarnings("unchecked") // public void testInvokerUtilPollRemoteLargeTimeout() throws Exception { // LinkedList<Service> services = new LinkedList<Service>(); // for (int i = 0; i < 10; i++) { // MyMessage msg = TestUtils.createTestMessage(); // Service service = ServiceFactory.create("test1", "remote", serverUri.toURL()); // service.createDispatch("echoString").invokeAsync(ECHO_STRING); // msg.setBody(msg.getBody()); // service.createDispatch("myTestOperation").invokeAsync(msg); // services.add(service); // } // System.out // .println("testInvokerUtilPollRemoteLargeTimeout: before time : " // + System.currentTimeMillis()); // List<Response<?>> responses = AsyncPollBlockingTest // .getResponseList(InvokerUtil.pollGetAll(services, 500)); // System.out // .println("testInvokerUtilPollRemoteLargeTimeout: after time : " // + System.currentTimeMillis()); // Assert.assertTrue(responses.size() == 20); // } @Test @SuppressWarnings("unchecked") public void invokerUtilPollMixed() throws Exception { LinkedList<Service> services = new LinkedList<Service>(); for (int i = 0; i < 10; i++) { MyMessage msg = TestUtils.createTestMessage(); Service service = ServiceFactory.create("test1", "remote", serverUri.toURL()); service.createDispatch("echoString").invokeAsync(ECHO_STRING); msg.setBody(msg.getBody()); service.createDispatch("myTestOperation").invokeAsync(msg); services.add(service); } for (int i = 0; i < 10; i++) { MyMessage msg = TestUtils.createTestMessage(); Service service = ServiceFactory.create("test1", "local", serverUri.toURL()); service.createDispatch("echoString").invokeAsync(ECHO_STRING); msg.setBody(msg.getBody()); service.createDispatch("myTestOperation").invokeAsync(msg); services.add(service); } List<Response<?>> responses = AsyncPollBlockingTest .getResponseList(InvokerUtil.pollGetAll(services)); Assert.assertTrue(responses.size() == 40); } // @SuppressWarnings("unchecked") // public void testInvokerUtilPollMixedSmallTimeout() throws Exception { // LinkedList<Service> services = new LinkedList<Service>(); // for (int i = 0; i < 10; i++) { // MyMessage msg = TestUtils.createTestMessage(); // Service service = ServiceFactory.create("test1", "remote", serverUri.toURL()); // service.createDispatch("echoString").invokeAsync(ECHO_STRING); // msg.setBody(msg.getBody()); // service.createDispatch("myTestOperation").invokeAsync(msg); // services.add(service); // } // for (int i = 0; i < 10; i++) { // MyMessage msg = TestUtils.createTestMessage(); // Service service = ServiceFactory.create("test1", "local", serverUri.toURL()); // service.createDispatch("echoString").invokeAsync(ECHO_STRING); // msg.setBody(msg.getBody()); // service.createDispatch("myTestOperation").invokeAsync(msg); // services.add(service); // } // System.out // .println("testInvokerUtilPollMixedSmallTimeout: before time : " // + System.currentTimeMillis()); // List<Response<?>> responses = AsyncPollBlockingTest // .getResponseList(InvokerUtil.pollGetAll(services, 0)); // System.out // .println("testInvokerUtilPollMixedSmallTimeout: after time : " // + System.currentTimeMillis()); // // Assert.assertTrue(responses.size() < 40); // } // @SuppressWarnings("unchecked") // public void testInvokerUtilPollMixedLargeTimeout() throws Exception { // LinkedList<Service> services = new LinkedList<Service>(); // for (int i = 0; i < 10; i++) { // MyMessage msg = TestUtils.createTestMessage(); // Service service = ServiceFactory.create("test1", "remote", serverUri.toURL()); // service.createDispatch("echoString").invokeAsync(ECHO_STRING); // msg.setBody(msg.getBody()); // service.createDispatch("myTestOperation").invokeAsync(msg); // services.add(service); // } // for (int i = 0; i < 10; i++) { // MyMessage msg = TestUtils.createTestMessage(); // Service service = ServiceFactory.create("test1", "local", serverUri.toURL()); // service.createDispatch("echoString").invokeAsync(ECHO_STRING); // msg.setBody(msg.getBody()); // service.createDispatch("myTestOperation").invokeAsync(msg); // services.add(service); // } // System.out // .println("testInvokerUtilPollMixedLargeTimeout: before time : " // + System.currentTimeMillis()); // List<Response<?>> responses = AsyncPollBlockingTest // .getResponseList(InvokerUtil.pollGetAll(services, 500)); // System.out // .println("testInvokerUtilPollMixedLargeTimeout: after time : " // + System.currentTimeMillis()); // Assert.assertTrue(responses.size() == 40); // } }