From 07b7dfd1a70ba222b899d9813f8c449dbf3b785f Mon Sep 17 00:00:00 2001 From: lresende Date: Wed, 11 Nov 2009 23:07:28 +0000 Subject: Moving 1.x branches git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835124 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca/binding/jms/HelloWorldClientImpl.java | 41 --- .../tuscany/sca/binding/jms/HelloWorldService.java | 26 -- .../sca/binding/jms/HelloWorldServiceImpl.java | 27 -- .../binding/jms/OperationSelectionTestCase.java | 230 --------------- .../binding/jms/mock/MockJMSResourceFactory.java | 94 ------ .../jms/mock/MockJMSResourceFactoryQueueExist.java | 50 ---- .../mock/MockJMSResourceFactoryQueueNotExist.java | 47 --- ...ndingReferenceQueueCreateModeTestCaseFIXME.java | 328 --------------------- ...BindingServiceQueueCreateModeTestCaseFIXME.java | 179 ----------- 9 files changed, 1022 deletions(-) delete mode 100644 branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldClientImpl.java delete mode 100644 branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldService.java delete mode 100644 branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldServiceImpl.java delete mode 100644 branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/OperationSelectionTestCase.java delete mode 100644 branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/mock/MockJMSResourceFactory.java delete mode 100644 branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/mock/MockJMSResourceFactoryQueueExist.java delete mode 100644 branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/mock/MockJMSResourceFactoryQueueNotExist.java delete mode 100644 branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingReferenceQueueCreateModeTestCaseFIXME.java delete mode 100644 branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingServiceQueueCreateModeTestCaseFIXME.java (limited to 'branches/sca-java-1.1/modules/binding-jms/src/test/java/org') diff --git a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldClientImpl.java b/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldClientImpl.java deleted file mode 100644 index 86d4719646..0000000000 --- a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldClientImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * 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; - -import org.osoa.sca.annotations.Reference; -import org.osoa.sca.annotations.Service; - -/** - * This class implements the HelloWorld service. - */ -@Service(HelloWorldService.class) -public class HelloWorldClientImpl implements HelloWorldService { - - private HelloWorldService serviceA; - - @Reference - public void setServiceA(HelloWorldService service) { - this.serviceA = service; - } - - public String sayHello(String name) { - return serviceA.sayHello(name); - } - -} diff --git a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldService.java b/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldService.java deleted file mode 100644 index abb29aec4c..0000000000 --- a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldService.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * 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; - -import org.osoa.sca.annotations.Remotable; - -@Remotable -public interface HelloWorldService { - String sayHello(String name); -} diff --git a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldServiceImpl.java b/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldServiceImpl.java deleted file mode 100644 index daa3d551df..0000000000 --- a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldServiceImpl.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * 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; - -public class HelloWorldServiceImpl implements HelloWorldService { - - public String sayHello(String name) { - return "jmsHello " + name; - } - -} diff --git a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/OperationSelectionTestCase.java b/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/OperationSelectionTestCase.java deleted file mode 100644 index 85106968f8..0000000000 --- a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/OperationSelectionTestCase.java +++ /dev/null @@ -1,230 +0,0 @@ -/* - * 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; - -import java.util.ArrayList; -import java.util.List; - -import javax.jms.TextMessage; - -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.provider.JMSBindingListener; -import org.apache.tuscany.sca.host.jms.JMSResourceFactory; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.impl.OperationImpl; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.easymock.EasyMock; -import org.junit.Test; - -/** - * This unit test is used to ensure that a JMS Message delivered to a Component will select the correct operation based - * on the details in section 1.5 of the JMS Binding specification. - */ -public class OperationSelectionTestCase { - /** - * This test attempts to invoke a Service with a Single method where scaOperationName is not specified in the JMS - * Message - *

- * Expected behaviour is that the single method will be invoked as scaOperationName is ignored - * - * @throws Exception Failed - */ - @Test - public void testServiceWithOnlyOneOperationScaOperationNameNotSpecified() throws Exception { - // Create the operation we should match - final Operation expectedOperation = new OperationImpl("myOperation"); - - // Create the list of operations for the Service - final List operations = new ArrayList(); - operations.add(expectedOperation); - - // The name of the Operation in the JMS Message - not specified - final String scaOperationName = null; - - // Do the test - doTestJMSBinding(expectedOperation, operations, scaOperationName); - } - - /** - * This test attempts to invoke a Service with a Single method where scaOperationName in the JMS Message matches the - * method name on the Service - *

- * Expected behaviour is that the single method will be invoked as scaOperationName is ignored - * - * @throws Exception Failed - */ - @Test - public void testServiceWithOnlyOneOperationScaOperationNameMatches() throws Exception { - // Create the operation we should match - final Operation expectedOperation = new OperationImpl("myOperation"); - - // Create the list of operations for the Service - final List operations = new ArrayList(); - operations.add(expectedOperation); - - // The name of the Operation in the JMS Message - matches operation name - final String scaOperationName = expectedOperation.getName(); - - // Do the test - doTestJMSBinding(expectedOperation, operations, scaOperationName); - } - - /** - * This test attempts to invoke a Service with a Single method where scaOperationName in the JMS Message is - * different the method name on the Service - *

- * Expected behaviour is that the single method will be invoked as scaOperationName is ignored - * - * @throws Exception Failed - */ - @Test - public void testServiceWithOnlyOneOperationScaOperationNameDifferent() throws Exception { - // Create the operation we should match - final Operation expectedOperation = new OperationImpl("myOperation"); - - // Create the list of operations for the Service - final List operations = new ArrayList(); - operations.add(expectedOperation); - - // The name of the Operation in the JMS Message - different to operation name - final String scaOperationName = "Does Not Match Opeation Name"; - - // Do the test - doTestJMSBinding(expectedOperation, operations, scaOperationName); - } - - /** - * This test attempts to invoke a Service with a multiple operations where scaOperationName specified in the JMS - * Message matches an operation name - *

- * Expected behaviour is that the named method will be invoked. - * - * @throws Exception Failed - */ - @Test - public void testServiceWithMultipleOperationsScaOperationNameSpecified() throws Exception { - // Create the list of operations for the Service - final List operations = new ArrayList(); - for (int i = 0; i < 5; i++) { - operations.add(new OperationImpl("operation" + i)); - } - - // Now try and invoke each operation - for (Operation expectedOperation : operations) { - // The name of the Operation in the JMS Message - final String scaOperationName = expectedOperation.getName(); - - // Do the test - doTestJMSBinding(expectedOperation, operations, scaOperationName); - } - } - - /** - * This test attempts to invoke a Service with a multiple operations where scaOperationName specified in the JMS - * Message is not set so we invoke the onMessage() method - *

- * Expected behaviour is that the onMessage() method should be used instead - * - * @throws Exception Failed - */ - @Test - public void testServiceWithMultipleOperationsScaOperationNotSpecified() throws Exception { - // Create the list of operations for the Service - final List operations = new ArrayList(); - for (int i = 0; i < 5; i++) { - operations.add(new OperationImpl("operation" + i)); - } - - // Add the onMessage operation to the Service Contract - final Operation onMessageOperation = new OperationImpl("onMessage"); - operations.add(onMessageOperation); - - // The name of the Operation in the JMS Message is not set so it will attempt - // to invoke the onMessage() method - final String scaOperationName = null; - - // Do the test - doTestJMSBinding(onMessageOperation, operations, scaOperationName); - } - - /** - * This is the test method that will attempt to unit test invoking a Service with the specified operations using a - * JMS Message with the specified scaOperationName to ensure that it invokes the expectedOperation - * - * @param expectedOperation The Operation we are expecting to be invoked over JMS - * @param operations The list of Operations supported by the Service - * @param scaOperationName The value to set scaOperationName in the JMS Message - * @throws Exception Failed - */ - private void doTestJMSBinding(Operation expectedOperation, List operations, String scaOperationName) - throws Exception { - // Create the test JMS Binding - final JMSBinding jmsBinding = new JMSBinding(); - JMSResourceFactory jmsResourceFactory = null; - - // Extra information for the method we are invoking - final String operationParams = "Hello"; - final Object operationReturnValue = "Operation Success"; - - // Mock up the Service. Basically, it is going to call: - // List opList = service.getInterfaceContract().getInterface().getOperations(); - final InterfaceContract ifaceContract = EasyMock.createStrictMock(InterfaceContract.class); - final RuntimeComponentService service = EasyMock.createStrictMock(RuntimeComponentService.class); - final Interface iface = EasyMock.createStrictMock(Interface.class); - EasyMock.expect(iface.getOperations()).andReturn(operations); - EasyMock.expect(ifaceContract.getInterface()).andReturn(iface); - EasyMock.expect(service.getInterfaceContract()).andReturn(ifaceContract); - - // Mock up getting and invoking the RuntimeWire. It is going to call: - // service.getRuntimeWire(jmsBinding).invoke(operation, (Object[])requestPayload); - final RuntimeWire runtimeWire = EasyMock.createStrictMock(RuntimeWire.class); - EasyMock.expect(service.getRuntimeWire(jmsBinding)).andReturn(runtimeWire); - EasyMock.expect(runtimeWire.invoke(expectedOperation, new Object[] {operationParams})) - .andReturn(operationReturnValue); - - // Create the JMS Binding Listener - final JMSBindingListener bindingListener = new JMSBindingListener(jmsBinding, jmsResourceFactory, service); - - // Simulate a message - final TextMessage requestJMSMsg = EasyMock.createStrictMock(TextMessage.class); - EasyMock.expect(requestJMSMsg.getStringProperty("scaOperationName")).andReturn(scaOperationName); - EasyMock.expect(requestJMSMsg.getText()).andReturn(operationParams); - EasyMock.expect(requestJMSMsg.getJMSReplyTo()).andReturn(null); - - // Lets put all the mocks into replay mode - // EasyMock.replay(iface); - EasyMock.replay(ifaceContract); - EasyMock.replay(service); - EasyMock.replay(requestJMSMsg); - EasyMock.replay(runtimeWire); - - // Do the test - bindingListener.onMessage(requestJMSMsg); - - // Verify our Mock objects - // EasyMock.verify(iface); - // EasyMock.verify(ifaceContract); - // EasyMock.verify(service); - // EasyMock.verify(requestJMSMsg); - // EasyMock.verify(runtimeWire); - } -} diff --git a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/mock/MockJMSResourceFactory.java b/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/mock/MockJMSResourceFactory.java deleted file mode 100644 index c58bf72031..0000000000 --- a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/mock/MockJMSResourceFactory.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * 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.mock; - -import javax.jms.Connection; -import javax.jms.Destination; -import javax.jms.JMSException; -import javax.jms.MessageConsumer; -import javax.jms.MessageListener; -import javax.jms.Session; -import javax.naming.NamingException; - -import org.apache.tuscany.sca.host.jms.JMSResourceFactory; -import org.easymock.EasyMock; - -/** - * Mock JMSResourceFactory base class for testing purposes. - */ -public abstract class MockJMSResourceFactory implements JMSResourceFactory { - - /** - * Throws UnsupportedOperationException - */ - public void closeConnection() throws JMSException, NamingException { - throw new UnsupportedOperationException(); - } - - /** - * Creates a Mock Destination - * - * @param jndiName Ignored - * @return A Mock Destination - */ - public Destination createDestination(String jndiName) throws NamingException { - final Destination d = EasyMock.createMock(Destination.class); - EasyMock.replay(d); - return d; - } - - /** - * Creates a Mock Session. - * - * @return A Mock Session - */ - public Session createSession() throws JMSException, NamingException { - final Session session = EasyMock.createMock(Session.class); - final MessageConsumer consumer = EasyMock.createMock(MessageConsumer.class); - final MessageListener listener = EasyMock.createMock(MessageListener.class); - EasyMock.expect(session.createConsumer((Destination)EasyMock.anyObject())).andReturn(consumer); - consumer.setMessageListener((MessageListener)EasyMock.anyObject()); - EasyMock.replay(session); - EasyMock.replay(consumer); - EasyMock.replay(listener); - return session; - } - - /** - * Throws UnsupportedOperationException - */ - public Connection getConnection() throws NamingException, JMSException { - throw new UnsupportedOperationException(); - } - - /** - * Throws UnsupportedOperationException - * - * @param jndiName Ignored - */ - public Destination lookupDestination(String jndiName) throws NamingException { - throw new UnsupportedOperationException(); - } - - /** - * Does nothing - */ - public void startConnection() throws JMSException, NamingException { - } -} diff --git a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/mock/MockJMSResourceFactoryQueueExist.java b/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/mock/MockJMSResourceFactoryQueueExist.java deleted file mode 100644 index 5fa8d39f5d..0000000000 --- a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/mock/MockJMSResourceFactoryQueueExist.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * 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.mock; - -import javax.jms.Destination; -import javax.naming.NamingException; - -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.easymock.EasyMock; - -/** - * This mock JMSResourceFactory will create a mock Destination when the lookupDestination() method is called - */ -public class MockJMSResourceFactoryQueueExist extends MockJMSResourceFactory { - /** - * Constructor - * - * @param jmsBinding Ignored - */ - public MockJMSResourceFactoryQueueExist(JMSBinding jmsBinding) { - } - - /** - * Return a mock Destination object - */ - public Destination lookupDestination(String jndiName) throws NamingException { - final Destination d = EasyMock.createMock(Destination.class); - EasyMock.replay(d); - return d; - } - - public void startBroker() { - } -} diff --git a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/mock/MockJMSResourceFactoryQueueNotExist.java b/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/mock/MockJMSResourceFactoryQueueNotExist.java deleted file mode 100644 index a14fd5b5bd..0000000000 --- a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/mock/MockJMSResourceFactoryQueueNotExist.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * 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.mock; - -import javax.jms.Destination; -import javax.naming.NamingException; - -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; - -/** - * This mock JMSResourceFactory will always return null when the lookupDestination() method is called - */ -public class MockJMSResourceFactoryQueueNotExist extends MockJMSResourceFactory { - /** - * Constructor - * - * @param jmsBinding Ignored - */ - public MockJMSResourceFactoryQueueNotExist(JMSBinding jmsBinding) { - } - - /** - * Always returns null - */ - public Destination lookupDestination(String jndiName) throws NamingException { - return null; - } - - public void startBroker() { - } -} diff --git a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingReferenceQueueCreateModeTestCaseFIXME.java b/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingReferenceQueueCreateModeTestCaseFIXME.java deleted file mode 100644 index 79e762be63..0000000000 --- a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingReferenceQueueCreateModeTestCaseFIXME.java +++ /dev/null @@ -1,328 +0,0 @@ -/* - * 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.binding.jms.mock.MockJMSResourceFactoryQueueExist; -import org.apache.tuscany.sca.binding.jms.mock.MockJMSResourceFactoryQueueNotExist; -import org.apache.tuscany.sca.host.jms.JMSHost; -import org.apache.tuscany.sca.host.jms.JMSResourceFactory; -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. - */ -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(MockJMSResourceFactoryQueueExist.class.getName()); - } 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/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingServiceQueueCreateModeTestCaseFIXME.java b/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingServiceQueueCreateModeTestCaseFIXME.java deleted file mode 100644 index 6e3a70d904..0000000000 --- a/branches/sca-java-1.1/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingServiceQueueCreateModeTestCaseFIXME.java +++ /dev/null @@ -1,179 +0,0 @@ -/* - * 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.binding.jms.mock.MockJMSResourceFactoryQueueExist; -import org.apache.tuscany.sca.binding.jms.mock.MockJMSResourceFactoryQueueNotExist; -import org.apache.tuscany.sca.core.assembly.RuntimeComponentServiceImpl; -import org.apache.tuscany.sca.host.jms.JMSHost; -import org.apache.tuscany.sca.host.jms.JMSResourceFactory; -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. - */ -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); - - JMSHost jmsHost = new JMSHost(){ - public JMSResourceFactory createJMSResourceFactory(String connectionFactoryName, String initialContextFactoryName, String jndiURL) { - return null; - }}; - - // Try and create the JMS Binding Service for the JMS Binding - try { - JMSBindingServiceBindingProvider jmsService = - new JMSBindingServiceBindingProvider(null, service, jmsBinding, jmsHost); - 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