From bdd0a41aed7edf21ec2a65cfa17a86af2ef8c48a Mon Sep 17 00:00:00 2001 From: dims Date: Tue, 17 Jun 2008 00:23:01 +0000 Subject: Move Tuscany from Incubator to top level. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@668359 13f79535-47bb-0310-9956-ffa450edef68 --- ...ndingReferenceQueueCreateModeTestCaseFIXME.java | 326 +++++++++++++++++++++ ...BindingServiceQueueCreateModeTestCaseFIXME.java | 172 +++++++++++ 2 files changed, 498 insertions(+) create mode 100644 sandbox/axis2-1.4/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingReferenceQueueCreateModeTestCaseFIXME.java create mode 100644 sandbox/axis2-1.4/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingServiceQueueCreateModeTestCaseFIXME.java (limited to 'sandbox/axis2-1.4/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider') diff --git a/sandbox/axis2-1.4/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingReferenceQueueCreateModeTestCaseFIXME.java b/sandbox/axis2-1.4/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingReferenceQueueCreateModeTestCaseFIXME.java new file mode 100644 index 0000000000..96f0497303 --- /dev/null +++ b/sandbox/axis2-1.4/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingReferenceQueueCreateModeTestCaseFIXME.java @@ -0,0 +1,326 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.binding.jms.provider; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; +import org.apache.tuscany.sca.binding.jms.impl.JMSBindingException; +import org.apache.tuscany.sca.interfacedef.Operation; +import org.apache.tuscany.sca.interfacedef.impl.OperationImpl; +import org.junit.Test; + +/** + * This unit test tests various combinations of the JMS Binding create modes for both request and response queues. + *

+ * The SCA JMS Binding specification lists 3 create modes: + *

+ * See the SCA JMS Binding specification for more information. + * + * @version $Rev$ $Date$ + */ +public class JMSBindingReferenceQueueCreateModeTestCaseFIXME { + + /** + * Test creating a request queue in "never" mode where the queue does not exist. We are expecting an exception + */ + @Test + public void testRequestCreateNeverQueueNotExist() { + String requestCreateMode = "never"; + String responseCreateMode = "ifnotexist"; + boolean preCreateQueue = false; + boolean expectingRequestException = true; + boolean expectingResponseException = false; + + doTestCase(requestCreateMode, + responseCreateMode, + preCreateQueue, + expectingRequestException, + expectingResponseException); + } + + /** + * Test creating a request queue in "never" mode where the queue exists. We are expecting this to work + */ + @Test + public void testRequestCreateNeverQueueExists() { + String requestCreateMode = "never"; + String responseCreateMode = "ifnotexist"; + boolean preCreateQueue = true; + boolean expectingRequestException = false; + boolean expectingResponseException = false; + + doTestCase(requestCreateMode, + responseCreateMode, + preCreateQueue, + expectingRequestException, + expectingResponseException); + } + + /** + * Test creating a request queue in "ifnotexist" mode where the queue does not exist. We are expecting this to work + */ + @Test + public void testRequestCreateIfNotExistQueueNotExist() { + String requestCreateMode = "ifnotexist"; + String responseCreateMode = "ifnotexist"; + boolean preCreateQueue = false; + boolean expectingRequestException = false; + boolean expectingResponseException = false; + + doTestCase(requestCreateMode, + responseCreateMode, + preCreateQueue, + expectingRequestException, + expectingResponseException); + } + + /** + * Test creating a request queue in "ifnotexist" mode where the queue exists. We are expecting this to work + */ + @Test + public void testRequestCreateIfNotExistQueueExist() { + String requestCreateMode = "ifnotexist"; + String responseCreateMode = "ifnotexist"; + boolean preCreateQueue = true; + boolean expectingRequestException = false; + boolean expectingResponseException = false; + + doTestCase(requestCreateMode, + responseCreateMode, + preCreateQueue, + expectingRequestException, + expectingResponseException); + } + + /** + * Test creating a request queue in "always" mode where the queue does not exist. We are expecting this to work + */ + @Test + public void testRequestCreateAlwaysQueueNotExist() { + String requestCreateMode = "always"; + String responseCreateMode = "ifnotexist"; + boolean preCreateQueue = false; + boolean expectingRequestException = false; + boolean expectingResponseException = false; + + doTestCase(requestCreateMode, + responseCreateMode, + preCreateQueue, + expectingRequestException, + expectingResponseException); + } + + /** + * Test creating a request queue in "always" mode where the queue exists. We are expecting an exception + */ + @Test + public void testRequestCreateAlwaysQueueExists() { + String requestCreateMode = "always"; + String responseCreateMode = "ifnotexist"; + boolean preCreateQueue = true; + boolean expectingRequestException = true; + boolean expectingResponseException = false; + + doTestCase(requestCreateMode, + responseCreateMode, + preCreateQueue, + expectingRequestException, + expectingResponseException); + } + + /** + * Test creating a response queue in "never" mode where the queue does not exist. We are expecting an exception + */ + @Test + public void testResponseCreateNeverQueueNotExist() { + String requestCreateMode = "ifnotexist"; + String responseCreateMode = "never"; + boolean preCreateQueue = false; + boolean expectingRequestException = false; + boolean expectingResponseException = true; + + doTestCase(requestCreateMode, + responseCreateMode, + preCreateQueue, + expectingRequestException, + expectingResponseException); + } + + /** + * Test creating a response queue in "never" mode where the queue exists. We are expecting this to work + */ + @Test + public void testResponseCreateNeverQueueExists() { + String requestCreateMode = "ifnotexist"; + String responseCreateMode = "never"; + boolean preCreateQueue = true; + boolean expectingRequestException = false; + boolean expectingResponseException = false; + + doTestCase(requestCreateMode, + responseCreateMode, + preCreateQueue, + expectingRequestException, + expectingResponseException); + } + + /** + * Test creating a response queue in "ifnotexist" mode where the queue does not exist. We are expecting this to work + */ + @Test + public void testResponseCreateIfNotExistQueueNotExist() { + String requestCreateMode = "ifnotexist"; + String responseCreateMode = "ifnotexist"; + boolean preCreateQueue = false; + boolean expectingRequestException = false; + boolean expectingResponseException = false; + + doTestCase(requestCreateMode, + responseCreateMode, + preCreateQueue, + expectingRequestException, + expectingResponseException); + } + + /** + * Test creating a response queue in "ifnotexist" mode where the queue not exists. We are expecting this to work + */ + @Test + public void testResponseCreateIfNotExistQueueExist() { + String requestCreateMode = "ifnotexist"; + String responseCreateMode = "ifnotexist"; + boolean preCreateQueue = true; + boolean expectingRequestException = false; + boolean expectingResponseException = false; + + doTestCase(requestCreateMode, + responseCreateMode, + preCreateQueue, + expectingRequestException, + expectingResponseException); + } + + /** + * Test creating a response queue in "always" mode where the queue does not exist. We are expecting this to work + */ + @Test + public void testResponseCreateAlwaysQueueNotExist() { + String requestCreateMode = "ifnotexist"; + String responseCreateMode = "always"; + boolean preCreateQueue = false; + boolean expectingRequestException = false; + boolean expectingResponseException = false; + + doTestCase(requestCreateMode, + responseCreateMode, + preCreateQueue, + expectingRequestException, + expectingResponseException); + } + + /** + * Test creating a response queue in "always" mode where the queue exists. We are expecting an exception + */ + @Test + public void testResponseCreateAlwaysQueueExists() { + String requestCreateMode = "ifnotexist"; + String responseCreateMode = "always"; + boolean preCreateQueue = true; + boolean expectingRequestException = false; + boolean expectingResponseException = true; + + doTestCase(requestCreateMode, + responseCreateMode, + preCreateQueue, + expectingRequestException, + expectingResponseException); + } + + /** + * This is the main test method for the various test scenarios for the JMS Binding. + * + * @param requestCreateMode The required create mode for the request destination queue + * @param responseCreateMode The required create mode for the response destination queue + * @param preCreateQueue Whether the queue should be pre-created. + * @param expectingRequestException true if we are expecting an exception because the request queue configuration is + * invalid; false otherwise + * @param expectingResponseException true if we are expecting an exception because the request queue configuration + * is invalid; false otherwise + */ + private void doTestCase(String requestCreateMode, + String responseCreateMode, + boolean preCreateQueue, + boolean expectingRequestException, + boolean expectingResponseException) { + String requestDestinationName = "SomeRequestDestination"; + String responseDestinationName = "SomeResponseDestination"; + String jmsBindingName = "MyJMSBinding"; + + // Create a JMS Binding with the required test parameters + JMSBinding jmsBinding = new JMSBinding(); + jmsBinding.setDestinationCreate(requestCreateMode); + jmsBinding.setResponseDestinationCreate(responseCreateMode); + if (preCreateQueue) { +// jmsBinding.setJmsResourceFactoryName(new JMSResourceFactory(null, null, null)); + } else { +// jmsBinding.setJmsResourceFactoryName(MockJMSResourceFactoryQueueNotExist.class.getName()); + } + jmsBinding.setDestinationName(requestDestinationName); + jmsBinding.setResponseDestinationName(responseDestinationName); + jmsBinding.setName(jmsBindingName); + + // Create the operation + Operation operation = new OperationImpl(); + operation.setName("OperationName"); + + // Try and create the JMS Binding Invoker for the JMS Binding + try { + new JMSBindingInvoker(jmsBinding, operation, null); + + // Check whether we were expecting an exception + if (expectingRequestException || expectingResponseException) { + // We were expecting an exception + Assert.fail("This binding should have failed as it is invalid"); + } + } catch (JMSBindingException ex) { + // Were we expecting an exception + if (!expectingRequestException && !expectingResponseException) { + // No we were not expecting an exception + Assert.fail("Unexpected exception of " + ex); + } + + // Validate that the expected exception has the text we expect + if (expectingRequestException) { + Assert.assertTrue(ex.getMessage().indexOf("JMS Destination") != -1); + Assert.assertTrue(ex.getMessage().indexOf(requestCreateMode) != -1); + Assert.assertTrue(ex.getMessage().indexOf(requestDestinationName) != -1); + } else if (expectingResponseException) { + Assert.assertTrue(ex.getMessage().indexOf("JMS Response Destination") != -1); + Assert.assertTrue(ex.getMessage().indexOf(responseCreateMode) != -1); + Assert.assertTrue(ex.getMessage().indexOf(responseDestinationName) != -1); + } + Assert.assertTrue(ex.getMessage().indexOf("registering binding " + jmsBindingName + " invoker") != -1); + } + } +} diff --git a/sandbox/axis2-1.4/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingServiceQueueCreateModeTestCaseFIXME.java b/sandbox/axis2-1.4/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingServiceQueueCreateModeTestCaseFIXME.java new file mode 100644 index 0000000000..c3c18fbfbe --- /dev/null +++ b/sandbox/axis2-1.4/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingServiceQueueCreateModeTestCaseFIXME.java @@ -0,0 +1,172 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.binding.jms.provider; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; +import org.apache.tuscany.sca.binding.jms.impl.JMSBindingException; +import org.apache.tuscany.sca.core.assembly.RuntimeComponentServiceImpl; +import org.apache.tuscany.sca.runtime.RuntimeComponentService; +import org.junit.Test; + +/** + * This method tests various combinations of the JMS Binding create modes. + *

+ * The SCA JMS Binding specification lists 3 create modes: + *

+ * See the SCA JMS Binding specification for more information. + * + * @version $Rev$ $Date$ + */ +public class JMSBindingServiceQueueCreateModeTestCaseFIXME { + /** + * Test creating a queue in "never" mode where the queue does not exist. We are expecting an exception + */ + @Test + public void testCreateNeverQueueNotExist() { + String createMode = "never"; + boolean preCreateQueue = false; + boolean expectingException = true; + + doTestCase(createMode, preCreateQueue, expectingException); + } + + /** + * Test creating a queue in "never" mode where the queue exists. We are expecting this to work + */ + @Test + public void testCreateNeverQueueExist() { + String createMode = "never"; + boolean preCreateQueue = true; + boolean expectingException = false; + + doTestCase(createMode, preCreateQueue, expectingException); + } + + /** + * Test creating a queue in "ifnotexist" mode where the queue does not exist. We are expecting this to work + */ + @Test + public void testCreateIfNotExistQueueNotExist() { + String createMode = "ifnotexist"; + boolean preCreateQueue = false; + boolean expectingException = false; + + doTestCase(createMode, preCreateQueue, expectingException); + } + + /** + * Test creating a queue in "ifnotexist" mode where the queue exists. We are expecting this to work + */ + @Test + public void testCreateIfNotExistQueueExist() { + String createMode = "ifnotexist"; + boolean preCreateQueue = true; + boolean expectingException = false; + + doTestCase(createMode, preCreateQueue, expectingException); + } + + /** + * Test creating a queue in "always" mode where the queue does not exist. We are expecting this to work + */ + @Test + public void testCreateAlwaysQueueNotExist() { + String createMode = "always"; + boolean preCreateQueue = false; + boolean expectingException = false; + + doTestCase(createMode, preCreateQueue, expectingException); + } + + /** + * Test creating a queue in "always" mode where the queue exists. We are expecting an exception + */ + @Test + public void testCreateAlwaysQueueExist() { + String createMode = "always"; + boolean preCreateQueue = true; + boolean expectingException = true; + + doTestCase(createMode, preCreateQueue, expectingException); + } + + /** + * This is the main test method for the various test scenarios for the JMS Binding. + * + * @param createMode The required create mode for the destination queue + * @param preCreateQueue Whether the queue should be pre-created. + * @param expectingException true if test should throw an exception + */ + private void doTestCase(String createMode, boolean preCreateQueue, boolean expectingException) { + String destinationName = "SomeDestination"; + String jmsBindingName = "MyJMSBinding"; + String serviceName = "MyServiceName"; + + // Create a JMS Binding with the required test parameters + JMSBinding jmsBinding = new JMSBinding(); + jmsBinding.setDestinationCreate(createMode); +// if (preCreateQueue) { +// jmsBinding.setJmsResourceFactoryName(MockJMSResourceFactoryQueueExist.class.getName()); +// } else { +// jmsBinding.setJmsResourceFactoryName(MockJMSResourceFactoryQueueNotExist.class.getName()); +// } + jmsBinding.setDestinationName(destinationName); + jmsBinding.setName(jmsBindingName); + + RuntimeComponentService service = new RuntimeComponentServiceImpl(); + service.setName(serviceName); + + // Try and create the JMS Binding Service for the JMS Binding + try { + JMSBindingServiceBindingProvider jmsService = + new JMSBindingServiceBindingProvider(null, service, jmsBinding, null); + jmsService.start(); + + // Check whether we were expecting an exception + if (expectingException) { + // We were expecting an exception + Assert.fail("This binding should have failed as it is invalid"); + } + } catch (JMSBindingException ex) { + // Were we expecting an exception + if (!expectingException) { + ex.printStackTrace(); + // No we were not expecting an exception + Assert.fail("Unexpected exception of " + ex); + } + + // We should get a JMSBindingException + Assert.assertTrue(ex.getMessage().indexOf("Error starting JMSServiceBinding") != -1); + + // Validate that the expected chained exception exception has the text we expect + Assert.assertNotNull(ex.getCause()); + Assert.assertTrue(ex.getCause().getMessage().indexOf("JMS Destination") != -1); + Assert.assertTrue(ex.getCause().getMessage().indexOf(createMode) != -1); + Assert.assertTrue(ex.getCause().getMessage().indexOf(destinationName) != -1); + Assert + .assertTrue(ex.getCause().getMessage().indexOf("registering service " + serviceName + " listener") != -1); + } + } +} -- cgit v1.2.3