diff options
Diffstat (limited to 'sca-java-2.x/tags/2.0-Beta2-RC3/testing/compliance-tests/binding-jms/src/test/java/org/apache/tuscany/sca/otest/TuscanyRuntimeBridge.java')
-rw-r--r-- | sca-java-2.x/tags/2.0-Beta2-RC3/testing/compliance-tests/binding-jms/src/test/java/org/apache/tuscany/sca/otest/TuscanyRuntimeBridge.java | 220 |
1 files changed, 0 insertions, 220 deletions
diff --git a/sca-java-2.x/tags/2.0-Beta2-RC3/testing/compliance-tests/binding-jms/src/test/java/org/apache/tuscany/sca/otest/TuscanyRuntimeBridge.java b/sca-java-2.x/tags/2.0-Beta2-RC3/testing/compliance-tests/binding-jms/src/test/java/org/apache/tuscany/sca/otest/TuscanyRuntimeBridge.java deleted file mode 100644 index d9490c641e..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC3/testing/compliance-tests/binding-jms/src/test/java/org/apache/tuscany/sca/otest/TuscanyRuntimeBridge.java +++ /dev/null @@ -1,220 +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.otest; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; - -import java.io.BufferedWriter; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.util.Properties; - -import org.apache.tuscany.sca.node.Contribution; -import org.apache.tuscany.sca.node.Node; -import org.apache.tuscany.sca.node.NodeFactory; - -import testClient.TestException_Exception; -import client.RuntimeBridge; - -/** - * An implementation of the Runtime Bridge for the Apache Tuscany SCA runtime (version 2.x) - * - */ -public class TuscanyRuntimeBridge implements RuntimeBridge { - - static final String CONTRIBUTION_LOCATION_PROPKEY = "OASIS_TESTENV_CONTRIBUTION_LOCATION"; - - protected NodeFactory launcher; - protected Node node; - protected Properties expectedErrorMessages; - - public TuscanyRuntimeBridge() { - // read test error mapping - expectedErrorMessages = new Properties(); - try { - InputStream propertiesStream = this.getClass().getResourceAsStream("/tuscany-oasis-sca-tests-errors.properties"); - expectedErrorMessages.load(propertiesStream); - } catch (IOException e) { - System.out.println("Unable to read oasis-sca-tests-errors.properties file"); - } - } - - public boolean startContribution(String compositeName, String contributionLocation, String[] contributionNames) throws Exception { - try { - // Tuscany specific code which starts the contribution(s) holding the test - Properties ps = new Properties(); - ps.setProperty("defaultScheme", "vm"); - ps.setProperty("org.apache.tuscany.sca.binding.ws.jaxws.ri.JAXWSBindingProviderFactory.defaultPort", "8080"); - launcher = NodeFactory.newInstance(ps); - - Contribution[] contributions = new Contribution[contributionNames.length]; - String[] contributionURIs = getContributionURIs(contributionLocation, contributionNames); - for (int i = 0; i < contributions.length; i++) { - contributions[i] = new Contribution(contributionNames[i], contributionURIs[i]); - } // end for - - node = launcher.createNode(compositeName, contributions); - // Start the node - node.start(); - - // For debugging - // print out the composites that have been read in success cases - // System.out.println(((NodeImpl)node).dumpDomainComposite()); - } catch (Exception e) { - System.out.println(e.getMessage()); - e.printStackTrace(); - throw e; - } // end try - - return true; - } // end method startContribution - - /** - * Gets the location of the Contributions as URIs - * @param contributionLocation - a location pattern URI, which contains one or more "%1" - * substrings, which are substituted with the name of the contribution to get the URI of - * the contribution - * @return the contribution locations as an array of Strings - */ - protected String[] getContributionURIs(String contributionLocation, String[] contributionNames) throws Exception { - String[] locations = new String[contributionNames.length]; - - if (locations != null && contributionLocation != null) { - - for (int i = 0; i < locations.length; i++) { - String aLocation = contributionLocation.replaceAll("%1", contributionNames[i]); - - locations[i] = aLocation; - } // end for - } else { - if (locations == null) { - // No contribution specified - throw an Exception - throw new Exception("Unable to start SCA runtime - no contribution supplied - error"); - } else { - // No contribution location supplied - throw an Exception - throw new Exception("Unable to start SCA runtime - no contribution location supplied - error"); - } // end if - } // end if - - return locations; - } // end getContributionURI - - public void stopContribution() { - if (node != null) { - node.stop(); - } // end if - if (launcher != null) { - launcher.destroy(); - } // end if - } // end method stopContribution - - public void checkError(String testName, Throwable ex) throws Throwable { - - String expectedMessage = expectedErrorMessages.getProperty(testName); - String receivedMessage = getErrorMessage(ex);//ex.getMessage(); - - if (expectedMessage == null){ - writeMissingMessage(testName, ex); - fail("Null expected error message for test " + testName + - "Please add message to oasis-sca-tests-errors.properties"); - } // end if - - if (receivedMessage == null){ - ex.printStackTrace(); - fail("Null received error message for test " + testName); - } // end if - - if (expectedMessage.startsWith("*")) { - // allow using * to ignore a message comparison - return; - } - - // Deal with the case where the message has variable parts within it - // marked with the characters ***. Here we tokenize the expected string - // and make sure all the individual parts are present in the results string - String expectedMessageParts[] = expectedMessage.split("\\*\\*\\*"); - - if (expectedMessageParts.length > 1){ - int foundParts = 0; - for(int i = 0; i < expectedMessageParts.length; i++){ - if (receivedMessage.indexOf(expectedMessageParts[i]) > -1 ){ - foundParts++; - } - } - - if (foundParts == expectedMessageParts.length){ - return; - } - } - - - // Deal with the case where the end of the message is variable (eg contains absolute filenames) - // and where the only relevant part is the start of the message - in this case the expected - // message only contains the stem section which is unchanging... - if( receivedMessage.length() > expectedMessage.length() ) { - // Truncate the received message to the length of the expected message - receivedMessage = receivedMessage.substring(0, expectedMessage.length() ); - } // end if - - if (!expectedMessage.equals(receivedMessage)) { - writeIncorrectMessage(testName, expectedMessage, receivedMessage); - } - - assertEquals( expectedMessage, receivedMessage ); - - return; - - } - - protected void writeMissingMessage(String testName, Throwable ex) { - try { - BufferedWriter out = new BufferedWriter(new FileWriter("target/OTestMissingMsgs.txt", true)); - out.write(testName + "=*"); - out.newLine(); - out.close(); - } catch (IOException e) { - } - } - - protected void writeIncorrectMessage(String testName, String expected, String received) { - try { - BufferedWriter out = new BufferedWriter(new FileWriter("target/OTestIncorrectMsgs.txt", true)); - out.write(testName); out.newLine(); - out.write(" " + expected); out.newLine(); - out.write(" " + received); out.newLine(); - out.close(); - } catch (IOException e) { - } - } - - protected String getErrorMessage(Throwable ex) { - String errorMessage = null; - - if (ex instanceof TestException_Exception) { - TestException_Exception te = (TestException_Exception) ex; - errorMessage = te.getFaultInfo().getMessage(); - } else { - errorMessage = ex.getMessage(); - } - - return errorMessage; - } -} // end class TuscanyRuntimeBridge |