diff options
author | edwardsmj <edwardsmj@13f79535-47bb-0310-9956-ffa450edef68> | 2009-01-17 21:24:53 +0000 |
---|---|---|
committer | edwardsmj <edwardsmj@13f79535-47bb-0310-9956-ffa450edef68> | 2009-01-17 21:24:53 +0000 |
commit | 5caedbdd71f3e2288610e6a6370b1858f218cad1 (patch) | |
tree | 43f62665078c95acef890bf3fd7fc79baac24c57 /java/sca/stest/sampleTest | |
parent | 8324fbee6c8e80e8f46703d88ae82cc4bac417be (diff) |
ASM_0021_TestCase & ASM_0022_TestCase & ASM_0023_TestCase added
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@735335 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
8 files changed, 381 insertions, 2 deletions
diff --git a/java/sca/stest/sampleTest/src/main/java/test/service1Impl4.java b/java/sca/stest/sampleTest/src/main/java/test/service1Impl4.java index 2cb04a5d5c..05a94bdd63 100644 --- a/java/sca/stest/sampleTest/src/main/java/test/service1Impl4.java +++ b/java/sca/stest/sampleTest/src/main/java/test/service1Impl4.java @@ -38,12 +38,13 @@ public class service1Impl4 implements Service1 { public Service1[] reference1 = null;
public String operation1(String input) {
- String result = "";
+ String result = serviceName + " operation1 invoked";
// Call each of the references in the array, concatenating the results
for( int i=0 ; i < reference1.length; i++ ) {
+ result = result.concat(" ");
result = result.concat( reference1[i].operation1(input) );
} // end for
- return serviceName + " operation1 invoked" + " " + result;
+ return result;
}
}
diff --git a/java/sca/stest/sampleTest/src/main/resources/TestComposite11.composite b/java/sca/stest/sampleTest/src/main/resources/TestComposite11.composite new file mode 100644 index 0000000000..3ab9a03978 --- /dev/null +++ b/java/sca/stest/sampleTest/src/main/resources/TestComposite11.composite @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * 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. +--> +<!-- An example of a composite which has one component with a reference + that is multiplicity 1..1 and which is both wired to a service of a + second component in the same composite and is also promoted by a + composite reference --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestComposite11">
+ + <service name="Service1" promote="Composite11Component1/Service1"> + <interface.java interface="test.Service1"/> + </service> + + <property name="serviceName" type="string"/>
+ + <component name="Composite11Component1"> + <implementation.java class="test.service1Impl2"/> + <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service> + <property name="serviceName" source="$serviceName"/> + <!-- reference is multiplicity 1..1 --> + <reference name="reference1" target="Composite11Component2/Service1"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <component name="Composite11Component2"> + <implementation.java class="test.service1Impl"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">Composite11-C2</property> + </component> + + <reference name="Reference1" promote="Composite11Component1/reference1"> + <interface.java interface="test.Service1"/> + </reference> + +</composite> diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0021.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0021.composite new file mode 100644 index 0000000000..193546103d --- /dev/null +++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0021.composite @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<!-- Tests that where a <reference/> of a <component/> has @autowire=true
+ and where the <reference/> has a <binding/> child element which
+ declares a single target service, the reference is wired only to
+ the single service identified by the <wire/> element -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0021">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0021</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite7"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1" autowire="true">
+ <interface.java interface="test.Service1"/>
+ <binding.sca uri="TestComponent3/Service1"/>
+ </reference>
+ </component>
+
+ <!-- This component is the target identified by the Component Type -->
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+ <!-- This component is the target identified by the reference -->
+ <component name="TestComponent3">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service3</property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0022.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0022.composite new file mode 100644 index 0000000000..9eb0254938 --- /dev/null +++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0022.composite @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<!-- Tests that where a <component/> <reference/> with multiplicity=0..1
+ is unwired (by any means) that the component executes correctly -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0022">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0022</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite8"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- Reference is 0..1 and is deliberately left unwired -->
+ <reference name="Reference1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0023.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0023.composite new file mode 100644 index 0000000000..e1d6e4bf70 --- /dev/null +++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0023.composite @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<!-- Tests that where a <component/> <reference/> with multiplicity=1..1
+ is wired to a component service in the same composite and is also
+ promoted by a <composite/> <reference/> which is wired to a target
+ service by a component using the <composite/> as its implementation,
+ that this is an error -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0023">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0023</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite11"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1" target="TestComponent2/Service1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/test/java/client/ASM_0021_TestCase.java b/java/sca/stest/sampleTest/src/test/java/client/ASM_0021_TestCase.java new file mode 100644 index 0000000000..4397a564c8 --- /dev/null +++ b/java/sca/stest/sampleTest/src/test/java/client/ASM_0021_TestCase.java @@ -0,0 +1,47 @@ +/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0021_TestCase, which tests that where a <reference/>
+ * of a <component/> has @autowire=true and where the <reference/> has
+ * a <binding/> child element which declares a single target service,
+ * the reference is wired only to the single service identified by the
+ * <wire/> element
+ */
+public class ASM_0021_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0021";
+ config.input = "request";
+ config.output = "ASM_0021 request service1 operation1 invoked service3 operation1 invoked";
+ config.composite = "Test_ASM_0021.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/java/sca/stest/sampleTest/src/test/java/client/ASM_0022_TestCase.java b/java/sca/stest/sampleTest/src/test/java/client/ASM_0022_TestCase.java new file mode 100644 index 0000000000..f845f0eaf5 --- /dev/null +++ b/java/sca/stest/sampleTest/src/test/java/client/ASM_0022_TestCase.java @@ -0,0 +1,45 @@ +/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0022_TestCase, which tests that where a <component/>
+ * <reference/> with multiplicity=0..1 is unwired (by any means) that
+ * the component executes correctly
+ */
+public class ASM_0022_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0022";
+ config.input = "request";
+ config.output = "ASM_0022 request service1 operation1 invoked";
+ config.composite = "Test_ASM_0022.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/java/sca/stest/sampleTest/src/test/java/client/ASM_0023_TestCase.java b/java/sca/stest/sampleTest/src/test/java/client/ASM_0023_TestCase.java new file mode 100644 index 0000000000..c0be74ee02 --- /dev/null +++ b/java/sca/stest/sampleTest/src/test/java/client/ASM_0023_TestCase.java @@ -0,0 +1,47 @@ +/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0021_TestCase, which tests that where a <component/>
+ * <reference/> with multiplicity=1..1 is wired to a component service
+ * in the same composite and is also promoted by a <composite/> <reference/>
+ * which is wired to a target service by a component using the <composite/>
+ * as its implementation, that this is an error
+ */
+public class ASM_0023_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0023";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0023.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
|