summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-02-25 20:52:45 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-02-25 20:52:45 +0000
commit4e912ffb6c089c21862594c2a1614a04011480f4 (patch)
tree17c378293e839bd2ff79ae1478274202db6174f4
parentb3716a99191639dc40db89b8c32a6909b799bc6e (diff)
Improve some assembly component tests to be more specific
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@747917 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referenceduplicatename.composite65
-rw-r--r--branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename.composite18
-rw-r--r--branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencenamemissmatch.composite49
-rw-r--r--branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentReferenceTestCase.java28
4 files changed, 133 insertions, 27 deletions
diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referenceduplicatename.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referenceduplicatename.composite
new file mode 100644
index 0000000000..05227124e1
--- /dev/null
+++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referenceduplicatename.composite
@@ -0,0 +1,65 @@
+<?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.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assemby-component">
+
+ <component name="ClientComponent1">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.reference.MyClientAImpl"/>
+
+ <service name="MyClientA">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.reference.MyClientA"/>
+ </service>
+
+ <reference name="b" target="ServiceComponent/MyService">
+ </reference>
+
+ <reference name="bService" target="ServiceComponent/MyService">
+ </reference>
+
+ </component>
+
+
+ <component name="ClientComponent2">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.reference.MyClientAImpl"/>
+
+ <service name="MyClientA">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.reference.MyClientA"/>
+ </service>
+
+ <reference name="b" target="ServiceComponent/MyService">
+ </reference>
+
+ <reference name="b" target="ServiceComponent/MyService">
+ </reference>
+
+ </component>
+
+
+ <component name="ServiceComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.reference.MyServiceImpl"/>
+ <service name="MyService">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.reference.MyService"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename.composite
index 05227124e1..9544c947d1 100644
--- a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename.composite
+++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename.composite
@@ -36,23 +36,7 @@
<reference name="bService" target="ServiceComponent/MyService">
</reference>
- </component>
-
-
- <component name="ClientComponent2">
- <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.reference.MyClientAImpl"/>
-
- <service name="MyClientA">
- <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.reference.MyClientA"/>
- </service>
-
- <reference name="b" target="ServiceComponent/MyService">
- </reference>
-
- <reference name="b" target="ServiceComponent/MyService">
- </reference>
-
- </component>
+ </component>
<component name="ServiceComponent">
diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencenamemissmatch.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencenamemissmatch.composite
new file mode 100644
index 0000000000..de3eefab95
--- /dev/null
+++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencenamemissmatch.composite
@@ -0,0 +1,49 @@
+<?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.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assemby-component">
+
+ <component name="ClientComponent1">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.reference.MyClientAImpl"/>
+
+ <service name="MyClientA">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.reference.MyClientA"/>
+ </service>
+
+ <reference name="b" target="ServiceComponent/MyService">
+ </reference>
+
+ <reference name="bServiceX" target="ServiceComponent/MyService">
+ </reference>
+
+ </component>
+
+
+ <component name="ServiceComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.reference.MyServiceImpl"/>
+ <service name="MyService">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.reference.MyService"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentReferenceTestCase.java b/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentReferenceTestCase.java
index 37619c65ce..b3d77561ce 100644
--- a/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentReferenceTestCase.java
+++ b/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentReferenceTestCase.java
@@ -28,6 +28,7 @@ import org.apache.tuscany.sca.vtest.assembly.component.reference.MyClientE;
import org.apache.tuscany.sca.vtest.utilities.ServiceFinder;
import org.junit.Ignore;
import org.junit.Test;
+import org.osoa.sca.ServiceRuntimeException;
/**
* Test the reference name, wire, wireByImpl, autowire and so on.
@@ -87,15 +88,17 @@ public class ComponentReferenceTestCase {
* The @name attribute of a reference element of a <component/> MUST be unique amongst the
* reference elements of that <component/>
*/
- @Test(expected = NullPointerException.class)
+ @Test
public void testDuplicateComponentReferenceName() {
//for this case, the reference of "b" in MyClientImpl is null.
- initDomain("referencename.composite");
- MyClientA service = ServiceFinder.getService(MyClientA.class, "ClientComponent2/MyClientA");
- Assert.assertEquals("MyService:::MyService" , service.callOtherServices()) ;
+ try {
+ initDomain("referenceduplicatename.composite");
+ } catch (ServiceRuntimeException ex){
+ Assert.assertEquals("Duplicate component reference name: Component = ClientComponent2 Reference = b", ex.getMessage());
+ return;
+ }
+ Assert.fail();
cleanupDomain();
-
-
}
/**
@@ -111,12 +114,17 @@ public class ComponentReferenceTestCase {
* the name of the reference. Has to match a name of a reference defined by the implementation.
*
*/
- @Test(expected = NullPointerException.class)
+ @Test
public void testComponentReferenceNameValid() {
- initDomain("referencename.composite");
- MyClientA service = ServiceFinder.getService(MyClientA.class, "ClientComponent1/MyClientA");
- Assert.assertEquals("MyService" , service.callInvalidReference()) ;
+ try {
+ initDomain("referencenamemissmatch.composite");
+ } catch (ServiceRuntimeException ex){
+ Assert.assertEquals("Reference not found for component reference: Component = ClientComponent1 Reference = bServiceX", ex.getMessage());
+ return;
+ }
+
+ Assert.fail();
cleanupDomain();
}