Author: slaws
Date: Wed Feb 25 20:52:45 2009
New Revision: 747917
URL: http://svn.apache.org/viewvc?rev=747917&view=rev
Log:
Improve some assembly component tests to be more specific
Added:
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referenceduplicatename.composite
(with props)
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencenamemissmatch.composite
(with props)
Modified:
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename.composite
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentReferenceTestCase.java
Added:
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referenceduplicatename.composite
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referenceduplicatename.composite?rev=747917&view=auto
==============================================================================
---
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referenceduplicatename.composite
(added)
+++
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referenceduplicatename.composite
Wed Feb 25 20:52:45 2009
@@ -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>
Propchange:
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referenceduplicatename.composite
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referenceduplicatename.composite
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange:
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referenceduplicatename.composite
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified:
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename.composite
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename.composite?rev=747917&r1=747916&r2=747917&view=diff
==============================================================================
---
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename.composite
(original)
+++
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename.composite
Wed Feb 25 20:52:45 2009
@@ -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">
Added:
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencenamemissmatch.composite
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencenamemissmatch.composite?rev=747917&view=auto
==============================================================================
---
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencenamemissmatch.composite
(added)
+++
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencenamemissmatch.composite
Wed Feb 25 20:52:45 2009
@@ -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>
Propchange:
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencenamemissmatch.composite
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencenamemissmatch.composite
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange:
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencenamemissmatch.composite
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified:
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentReferenceTestCase.java
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentReferenceTestCase.java?rev=747917&r1=747916&r2=747917&view=diff
==============================================================================
---
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentReferenceTestCase.java
(original)
+++
tuscany/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentReferenceTestCase.java
Wed Feb 25 20:52:45 2009
@@ -28,6 +28,7 @@
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 @@
* 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 @@
* 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();
}