diff options
author | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2009-02-26 11:30:18 +0000 |
---|---|---|
committer | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2009-02-26 11:30:18 +0000 |
commit | 88b043b538e64e6476435163e5e59be68c77751e (patch) | |
tree | 88663fbe4c5131c20d565a6f685bae790652b1e1 /branches/sca-java-1.x/vtest/assembly/component/src/test | |
parent | 9da33c32c68179267acc2f09bdc3ecd72337d1c1 (diff) |
TUSCANY-2868 - Add more assembly/component test cases. Thanks for the patch Jun Guo
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@748094 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.x/vtest/assembly/component/src/test')
3 files changed, 196 insertions, 10 deletions
diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentBasicTestCase.java b/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentBasicTestCase.java index 1d8d31c433..f3ce219f92 100644 --- a/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentBasicTestCase.java +++ b/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentBasicTestCase.java @@ -356,5 +356,6 @@ public class ComponentBasicTestCase { + } diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentPropertyTestCase.java b/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentPropertyTestCase.java new file mode 100644 index 0000000000..6cf8b49e4f --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentPropertyTestCase.java @@ -0,0 +1,166 @@ +/* + * 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.vtest.assembly.component; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.assembly.component.property.ServiceA; +import org.apache.tuscany.sca.vtest.assembly.component.property.ServiceB; +import org.apache.tuscany.sca.vtest.assembly.component.property.ServiceC; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.Ignore; +import org.junit.Test; + +/** + * This test case covers the main functionalities of component property. + * + */ +public class ComponentPropertyTestCase { + + private void initDomain(String compositePath) { + System.out.println("Setting up"); + ServiceFinder.init(compositePath); + } + + private void cleanupDomain() { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } + + /** + * + * <p> + * OSOA + * The property has no @value attribute now. + * <p> + * ASM50027 + * <p> + * OASIS: + * If the @value attribute of a component property element is declared, the type of the + * property MUST be an XML Schema simple type and the @value attribute MUST + * contain a single value of that type + */ + @Test + @Ignore("It will be implemented in SCA 2.x codebase") + public void testValueAttibuteValid_1() { + + initDomain("component_property_1.composite"); + ServiceA service = ServiceFinder.getService(ServiceA.class , "AComponent/ServiceA") ; + Assert.assertEquals("I am a string" ,service.getStrProperty()) ; + Assert.assertEquals("I am a object" ,service.getObjProperty()) ; + cleanupDomain(); + + } + + /** + * <p> + * OSOA + * The property has no @value attribute now. + * <p> + * ASM50027 + * <p> + * OASIS: + * If the @value attribute of a component property element is declared, the type of the + * property MUST be an XML Schema simple type and the @value attribute MUST + * contain a single value of that type + */ + @Test + @Ignore("It will be implemented in SCA 2.x codebase") + public void testValueAttibuteValid_2() { + + initDomain("component_property_1.composite"); + ServiceB service = ServiceFinder.getService(ServiceB.class , "BComponent/ServiceB") ; +// Assert.assertEquals("I am a object" ,service.getObjProperty()) ; + //It will fail to get the value from composite file, so it will be an empty string + System.out.println("::::" + service.getStrProperty()); +// System.out.println("::::" + service.getIntProperty()); +// Assert.assertEquals("I am a string" ,service.getStrProperty()) ; + + Assert.assertEquals("" ,service.getObjProperty()) ; + cleanupDomain(); + + } + + /** + * <p> + * OSOA + * Not mentioned in OSOA + * <p> + * ASM50030 + * <p> + * OASIS: + * A <component/> element MUST NOT contain two <property/> subelements with the + * same value of the @name attribute + */ + @Test + @Ignore("TUSCANY-2863") + public void testDuplicateProperty() { + + initDomain("component_duplicate_property.composite"); + ServiceA service = ServiceFinder.getService(ServiceA.class , "AComponent/ServiceA") ; +// System.out.println(service.getStrProperty()) ; + Assert.assertEquals("value1", service.getStrProperty()) ; + cleanupDomain(); + + } + + /** + * <p> + * OSOA + * No corresponding statements in OSOA. + * <p> + * ASM50031 + * <p> + * OASIS: + * The name attribute of a component property MUST match the name of a property + * element in the component type of the component implementation. + */ + @Test + public void testPropertyNameMatched() { + + initDomain("component_property_3.composite"); + ServiceC service = ServiceFinder.getService(ServiceC.class , "CComponent/ServiceC") ; + Assert.assertEquals("I am a string" , service.getStrProperty()) ; + cleanupDomain(); + + } + + /** + * <p> + * OSOA + * No corresponding statements in OSOA. + * <p> + * ASM50031 + * <p> + * OASIS: + * The name attribute of a component property MUST match the name of a property + * element in the component type of the component implementation. + */ + @Test + public void testPropertyNameNotMatched() { + + initDomain("component_property_3.composite"); + ServiceC service = ServiceFinder.getService(ServiceC.class , "CComponent/ServiceC") ; + Assert.assertNull(service.getObjProperty()) ; + cleanupDomain(); + + } + + +} 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 b3d77561ce..d62d10965a 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 @@ -61,17 +61,14 @@ public class ComponentReferenceTestCase { * reference elements of that <component/> */ @Test - public void testComponentReferenceName() { + public void testReferenceNameUnique() { - initDomain("referencename.composite"); + initDomain("referencename_1.composite"); MyClientA service = ServiceFinder.getService(MyClientA.class, "ClientComponent1/MyClientA"); -// System.out.println(service.callOtherServices()); Assert.assertEquals("MyService:::MyService" , service.callOtherServices()) ; cleanupDomain(); - - } /** @@ -89,10 +86,10 @@ public class ComponentReferenceTestCase { * reference elements of that <component/> */ @Test - public void testDuplicateComponentReferenceName() { + public void testReferenceNameDuplicated() { //for this case, the reference of "b" in MyClientImpl is null. try { - initDomain("referenceduplicatename.composite"); + initDomain("referencename_2.composite"); } catch (ServiceRuntimeException ex){ Assert.assertEquals("Duplicate component reference name: Component = ClientComponent2 Reference = b", ex.getMessage()); return; @@ -114,13 +111,34 @@ public class ComponentReferenceTestCase { * the name of the reference. Has to match a name of a reference defined by the implementation. * */ + @Test + public void testComponentReferenceNameMatched() { + initDomain("referencename_3.composite"); + MyClientA service = ServiceFinder.getService(MyClientA.class, "ClientComponent1/MyClientA"); + Assert.assertEquals("MyService:::MyService" , service.callOtherServices()) ; + cleanupDomain(); + } + + /** + * Line 192-193: + * <p> + * OSOA: + * the name of the reference. Has to match a name of a reference + * defined by the implementation. + * <p> + * ASM50008 + * <p> + * OASIS: + * the name of the reference. Has to match a name of a reference defined by the implementation. + * + */ @Test public void testComponentReferenceNameValid() { try { - initDomain("referencenamemissmatch.composite"); + initDomain("referencename_4.composite"); } catch (ServiceRuntimeException ex){ - Assert.assertEquals("Reference not found for component reference: Component = ClientComponent1 Reference = bServiceX", ex.getMessage()); + Assert.assertEquals("Reference not found for component reference: Component = ClientComponent1 Reference = bb", ex.getMessage()); return; } @@ -139,7 +157,7 @@ public class ComponentReferenceTestCase { * wired statically within a composite, but left unwired */ @Test - @Ignore("Not implemented now.") + @Ignore("Not implemented in SCA 1.x codebase.") public void testWiredByImpl() { initDomain("reference_wiredbyimpl.composite"); MyClientA service = ServiceFinder.getService(MyClientA.class, "ClientComponent/MyClientA"); @@ -147,6 +165,7 @@ public class ComponentReferenceTestCase { cleanupDomain(); } + /** * Line 208: * <p> |