TestCases for the SCA Assembly Model Version 1.1
Committee
Specification Draft 04 /
Public Review Draft 03
21 June 2011
Specification URIs
This version:
http://docs.oasis-open.org/opencsa/sca-assembly/sca-assembly-1.1-testcases-csprd03.pdf (Authoritative)
http://docs.oasis-open.org/opencsa/sca-assembly/sca-assembly-1.1-testcases-csprd03.html
http://docs.oasis-open.org/opencsa/sca-assembly/sca-assembly-1.1-testcases-csprd03.odt
Previous version:
http://docs.oasis-open.org/opencsa/sca-assembly/sca-assembly-1.1-testcases-cd03.pdf (Authoritative)
http://docs.oasis-open.org/opencsa/sca-assembly/sca-assembly-1.1-testcases-cd03.html
http://docs.oasis-open.org/opencsa/sca-assembly/sca-assembly-1.1-testcases-cd03.odt
Latest version:
http://docs.oasis-open.org/opencsa/sca-assembly/sca-assembly-1.1-testcases.pdf (Authoritative)
http://docs.oasis-open.org/opencsa/sca-assembly/sca-assembly-1.1-testcases.html
http://docs.oasis-open.org/opencsa/sca-assembly/sca-assembly-1.1-testcases.odt
Technical Committee:
OASIS Service Component Architecture / Assembly (SCA-Assembly) TC
Chairs:
Martin Chapman (martin.chapman@oracle.com), Oracle
Mike Edwards (mike_edwards@uk.ibm.com), IBM
Editors:
Mike Edwards (mike_edwards@uk.ibm.com), IBM
Eric Wells (eric.wells@hitachisoftware.com), Hitachi, Ltd.
Plamen Pavlov (Plamen.Pavlov@sap.com), SAP AG
Additional artifacts:
This prose specification is one component of a Work Product which also includes:
Test Suite artifacts ZIP archive: http://docs.oasis-open.org/opencsa/sca-assembly/sca-assembly-1.1-testcases-csprd03/testcases.zip
Related work:
This specification is related to:
Service Component Architecture Assembly Model Specification Version 1.1. Latest version. http://docs.oasis-open.org/opencsa/sca-assembly/sca-assembly-1.1-spec.html
Declared XML namespaces:
http://docs.oasis-open.org/ns/opencsa/scatests/200903
http://docs.oasis-open.org/ns/opencsa/scatests/2009032
http://test.sca.oasisopen.org/
Abstract:
This document defines the TestCases for the SCA Assembly specification. The TestCases represent a series of tests that an SCA runtime must pass in order to claim conformance to the requirements of the SCA Assembly specification.
Status:
This document was last revised or approved by the OASIS Service Component Architecture / Assembly (SCA-Assembly) TC on the above date. The level of approval is also listed above. Check the “Latest version” location noted above for possible later revisions of this document.
Technical Committee members should send comments on this specification to the Technical Committee’s email list. Others should send comments to the Technical Committee by using the “Send A Comment” button on the Technical Committee’s web page at http://www.oasis-open.org/committees/sca-assembly/.
For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page (http://www.oasis-open.org/committees/sca-assembly/ipr.php).
Citation format:
When referencing this specification the following citation format should be used:
[SCA-AssemblyTestCases]
TestCases for
the SCA Assembly Model Version 1.1. 21 June 2011. OASIS Committee
Specification Draft 04 / Public Review Draft
03.
http://docs.oasis-open.org/opencsa/sca-assembly/sca-assembly-1.1-testcases-csprd03.html.
Notices
Copyright © OASIS Open 2011. All Rights Reserved.
All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.
OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.
The name "OASIS" is a trademark of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see http://www.oasis-open.org/who/trademark.php for above guidance.
Table of Contents
1 Introduction 6
1.1 TestCase Structure 6
1.2 Namespaces and Java Package Names 8
1.3 Terminology 9
1.4 Normative References 9
1.5 Non_Normative References 9
2 TestCases 10
2.1 Section 3 10
2.2 Section 4 13
2.3 Section 5 35
2.5 Section 6 54
2.6 Section 7 63
2.7 Section 8 65
2.8 Section 10 67
2.9 Section 11 74
2.10 Section 12 74
3 Catalog of Test Artifacts 78
3.1 Composite Files - lower level 78
3.2 Java Interfaces 84
3.3 Java Implementation Classes 85
3.4 WSDL Interface Files 86
4 Conformance 88
Appendix A. Test Assertions for the SCA Assembly Model 89
A.1. Example Test Assertion 89
A.2. Test Assertions for SCA Assembly Specification Section 3 89
A.3. Test Assertions for SCA Assembly Specification Section 4 93
A.4. Test Assertions for SCA Assembly Specification Section 5 111
A.5. Test Assertions for SCA Assembly Specification Section 6 128
A.6. Test Assertions for SCA Assembly Specification Section 7 135
A.7. Test Assertions for SCA Assembly Specification Section 8 136
A.8. Test Assertions for SCA Assembly Specification Section 9 137
A.9. Test Assertions for SCA Assembly Specification Section 10 138
A.10. Test Assertions for SCA Assembly Specification Section 11 152
A.11. Test Assertions for SCA Assembly Specification Section 12 153
Appendix B. Cross Mapping of Normative Statements to Test Assertions 154
Appendix C. Cross Mapping of Test Assertions to TestCases 160
Appendix D. Acknowledgments 166
Appendix E. Revision History 167
This document defines the TestCases for the SCA Assembly specification. [ASSEMBLY]
The tests described in this document are derived from the normative statements in SCA Assembly specification via Test Assertions which are described in Appendix A, “Test Assertions for the SCA Assembly Model”.
The SCA Assembly testcases follow a standard structure. They are divided into two main parts:
Test Client, which drives the test and checks that the results are as expected
Test Application, which forms the bulk of the testcase and which consists of Composites, WSDL files, XSDs and code artifacts such as Java classes, organized into a series of SCA contributions
The basic idea is that the Test Application runs on the SCA runtime that is under test, while the Test Client runs as a standalone application, invoking the Test Application through one or more service interfaces.
The test client is designed as a standalone application. The version built here is a Java application which uses the JUnit test framework, although in principle, the client could be built using another implementation technology.
The test client is structured to contain configuration information about the testcase, which consists of:
metadata identifying the Test Application in terms of the SCA Contributions that are used and the Composites that must be deployed and run
data indicating which service operation(s) must be invoked with input data and expected output data (including exceptions for expected failure cases)
The Java test client consists of a base runtime class, BaseJAXWSTestCase.java. Each actual testcase is implemented by a small class which extends the base runtime class. The bulk of the code required to run a test is held in the base runtime class. The small testcase class contains the configuration for the specific test, which it provides to the code in the base runtime class through a standard interface.
The Java test client base runtime class is structured so that there is a replaceable class called the RuntimeBridge, which is used to communicate with the SCA runtime under test, for the purposes of deploying and running the test application. Each SCA runtime provider can produce a version of this class. The code within the runtime bridge is likely to be highly proprietary and specific to the SCA runtime for which it is written. Which runtime bridge class is used at runtime is controlled by an environment variable or system variable with the name "OASIS_TESTENV_RUNTIME_BRIDGE_CLASS", which is read by the code in BaseJAXWSTestCase.
The Test Client defaults to using Web services to communicate with the test application. The client is structured to permit Web services to be replaced by some other binding (eg JMS) should the SCA runtime under test not support Web services as a binding technology.
Each Test Application consists of one top level SCA Composite file and one or more other SCA Composite files and their associated artifacts (implementations, interface files), plus test client invocation application described above.
A typical test application has a design where the top level composite offers a single service to the client application over a Web services binding. The top level composite contains one component which offers the service that is used by the client application. The top level composite then contains one or more other components which are used by the first component.
All of the components in the top level composite are implemented by composites. These second level composites then contain typically one component, implemented using a specific technology such as Java POJO or a BPEL process. In some cases the implementation may be a third level composite.
The application is structured so that alternative technologies can be used. For example, replacing the contents of the second-level or third-level composites allows different implementation technologies to be tested – eg BPEL scripts or C++ classes may be used instead of Java classes. Similarly, the binding used to connect from the top level composite to the client application may be changed from Web services to JMS if required, simply by changing the binding on the <service/> of the top level composite.
Which implementation language to use for test artifacts is controlled by a system variable or environment variable which is read by the test client application, with the name "OASIS_TESTENV_IMPL_LANG". This variable can have one of the following values:
"Java" - for Java implementations
"BPEL" - for WS_BPEL process implementations
"CPP" - for C++ implementations
The testcases are designed so that the range of implementation types can be expanded
Note that the design of these testcases promotes reuse of artifacts between testcases, so that many testcases share components. For example, components implementing simple invokable services are all implemented using a single parameterized implementation artifact.
All the test artifacts are contained in a number of Contributions, which are simply filesystem directories which are all peers in the filesystem hierarchy. The names of the directories are the names of the Contributions and the names are significant. The names of Contributions containing implementation type specific artifacts (such as Java classes) are also specially structured to allow for replacement of one type of implementation artifact with another.
Broadly, Contribution names are as follows:
ASM_nnnn - a contribution that is specific for a particular testcase, where "nnnn" is the number of the testcase. Often this is required because a particular testcase involves artifacts that contain errors that are statically checkable - an SCA runtime is permitted to reject such artifacts when they are contributed and deployed and it is important to ensure that contributions containing deliberate errors for one testcase do not interfere with the operation of other testcases.
ASM_nnnn_Java - a contribution for a specific testcase where there is a need for language specific artifacts that relate to that testcase alone
General - a shared contribution containing implementation type independent artifacts that can be used by many testcases.
General_Java - a shared contribution containing implementation type dependent artifacts for Java POJOs. These artifacts can include both Java classes and also SCA composites that directly use Java classes.
General_BPEL - a shared contribution containing implementation type dependent artifacts for BPEL processes. These artifacts can include both BPEL processes and also SCA composites that directly use BPEL processes.
Contribution1, Contribution2, etc - contributions that are used by various testcases that are testing the handling of SCA contributions
Note that the names of Contributions containing implementation specific artifacts ends with a name that is specific to the implementation type - so "_Java" is used for Java implementations, "_BPEL" is used for BPEL implementations, "_CPP" is used for C++ implementations (and so on). Note that the name following the underscore matches the name used in the "OASIS_TESTENV_IMPL_LANG" variable used to control execution of the test client. The concept is that where there is an implementation type specific contribution, each implementation type must provide its own versions of the same basic artifacts. Typically, this means that each contribution must contain the same set of Composites, but that the implementation type dependent artifacts that these composites use will differ from implementation type to implementation type.
Basically, the setting of the variable is used to select the suffix used for implementation type dependent contributions. If the variable is set to "Java" then the contribution "General_Java" is selected, whereas if the variable is set to "BPEL", the contribution "General_BPEL" is selected.
In general, the SCA artifacts contained in the various contributions cannot be changed - such changes would invalidate the test suite. However, there are a small number of instances where there is a need to adjust some values used in the SCA artifacts to meet the configuration of the SCA Runtime under test. This in particular applies to some service endpoint addresses of some Web services that occur in some of the testcases.
To deal with this situation, the adjustable values are expressed in terms of XML Entities, with Entity References used within SCA artifacts such as composites. The XML Entities are declared within a DTD file, which is referenced from the SCA artifact files. The Entity values declared in the DTD file can be changed to match the configuration of the SCA Runtime under test - this is the only change permitted to the SCA artifacts when run against a particular SCA runtime.
The DTD file has the name sca_variables.dtd and it is contained in the General contribution.
Each Entity value declared in the sca_variables.dtd file has an explanation of what the Entity is intended to hold and it is expected that the values will be adjusted to suit the runtime under test before the test suite is executed.
The SCA Assembly testcase suite makes use of some XML namespaces and Java package names, as follows:
These apply to artifacts such as Composites
http://docs.oasis-open.org/ns/opencsa/scatests/200903
http://docs.oasis-open.org/ns/opencsa/scatests/2009032
http://test.sca.oasisopen.org/
For Java interface classes and for Java implementation classes
org.oasisopen.sca.test
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this specification are to be interpreted as described in IETF RFC 2119 [RFC 2119]
[RFC 2119] S.
Bradner. Key words for use in RFCs to Indicate Requirement Levels.
IETF RFC 2119, March 1997.
http://www.ietf.org/rfc/rfc2119.txt.
[ASSEMBLY] OASIS Committee Draft 08, SCA Assembly Model Specification Version 1.1, May 2011, http://docs.oasis-open.org/opencsa/sca-assembly/sca-assembly-1.1-spec-csd08.pdf
[TA-GUIDE] OASIS Committee Draft 05, Test Assertions Guidelines Version 1.0, August 2010 http://docs.oasis-open.org/tag/guidelines/v1.0/cd05/testassertionsguidelines-cd-05.pdf
N/A
Testcase ID |
ASM_4002_TestCase |
Test Assertion |
ASM-TA-4002 |
Description |
Tests that the @name attribute value of a <service/> element of a <componentType/> is not the same as the @name attribute value of any other <service/> of the <componentType/> |
Artifacts |
ASM_4002_TestCase.java Test_ASM_4002.composite TestInvocation.wsdl TestClient_0002.composite TestComposite16.composite Service1.wsdl |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_4003_TestCase |
Test Assertion |
ASM-TA-4003 |
Description |
Tests that the @name attribute value of a <reference/> element of a <componentType/> is not the same as the @name attribute value of any other <reference/> of the <componentType/> |
Artifacts |
ASM_4003_TestCase.java Test_ASM_4003.composite TestInvocation.wsdl TestClient_0002.composite TestComposite19.composite Service1.wsdl |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_4004_TestCase |
Test Assertion |
ASM-TA-4004 |
Description |
Tests that the @name attribute value of a <property/> element of a <componentType/> is not the same as the @name attribute value of any other <property/> of the <componentType/> |
Artifacts |
ASM_4004_TestCase.java Test_ASM_4004.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite26.composite |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_4005_TestCase |
Test Assertion |
ASM-TA-4006 |
Description |
Tests that the @type attribute value of a <property/> element of a <componentType/> is the QName of an XML schema type |
Artifacts |
ASM_4005_TestCase.java Test_ASM_4005.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite43.composite Service1.wsdl |
Expected output |
Positive test: “ASM_4005 request service1 operation1 invoked service2 operation1 invoked ” |
Testcase ID |
ASM_4006_TestCase |
Test Assertion |
ASM-TA-4007 |
Description |
Tests that the @element attribute value of a <property/> element of a <componentType/> is the QName of an XSD global element |
Artifacts |
ASM_4006_TestCase.java Test_ASM_4006.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite44.composite Service1.wsdl |
Expected output |
Positive test: “ASM_4006 request service1 operation1 invoked service2 operation1 invoked ” |
Testcase ID |
ASM_4007_TestCase |
Test Assertion |
ASM-TA-4009 ASM-TA-4010 |
Description |
Tests that a <property/> element of a <componentType/> does not have both @element and @type attributes set at the same time |
Artifacts |
ASM_4007_TestCase.java Test_ASM_4007.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite45.composite Service1.wsdl |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_4008_TestCase |
Test Assertion |
ASM-TA-4011 |
Description |
Tests that a <property/> element of a <componentType/> which has @mustSupply="true" must have a value specified for that property in the <component/> that uses the <implementation/> with that <componentType/> |
Artifacts |
ASM_4008_TestCase.java Test_ASM_4008.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite46.composite Service1.wsdl |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_5002_TestCase |
Test Assertion |
ASM-TA-5025 ( + ASM-TA-5031 as it uses simple property values) ( + ASM-TA-4008 as it involves a component property value being used by the runtime implementation instance) |
Description |
Tests that a component with a single reference of multiplicity 1..1 with @target attribute set to the service of a second component in the same composite, where the service interface is compatible with the reference interface, can successfully invoke the target service. |
Artifacts |
ASM_5002_TestCase.java Test_ASM_5002.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl |
Expected output |
Positive test: “ASM_5002 request service1 operation1 invoked” |
Testcase ID |
ASM_5003_TestCase |
Test Assertion |
ASM-TA-5026 |
Description |
Tests that a component with a single reference of multiplicity 1..n with @target attribute having 3 entries (the service of three other components in the same composite, where the service interface is compatible with the reference interface), can successfully invoke all the target services. |
Artifacts |
ASM_5003_TestCase.java Test_ASM_5003.composite TestInvocation.wsdl TestClient_5003.composite TestComposite1.composite Service1.wsdl |
Expected output |
Positive test: “ASM_5003 request service1 operation1 invokedservice2 operation1 invoked service3 operation1 invoked” |
Testcase ID |
ASM_5004_TestCase |
Test Assertion |
ASM-TA-5027 |
Description |
Tests that a component with a single reference of multiplicity 1..1 with @target attribute having 3 entries (the service of three other components in the same composite, where the service interface is compatible with the reference interface), has an invalid configuration and cannot run. |
Artifacts |
ASM_5004_TestCase.java Test_ASM_5004.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_5005_TestCase |
Test Assertion |
ASM-TA-5001 |
Description |
Tests that a component with multiple <service/> elements must have unique @name attributes for each service |
Artifacts |
ASM_5005_TestCase.java Test_ASM_5005.composite TestInvocation.wsdl TestClient_0002.composite TestComposite2.composite Service1.wsdl |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_5006_TestCase |
Test Assertion |
ASM-TA-5002 |
Description |
Tests that the @name attribute of a <service/> element of a <component/> must match the @name attribute of a <service/> element in the componentType of the <implementation/> used by the <component/> |
Artifacts |
ASM_5006_TestCase.java Test_ASM_5006.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_5007_TestCase |
Test Assertion |
ASM-TA-5003 |
Description |
Test that the @name attribute of a <reference/> element of a component is not equal to the @name attribute of any other <reference/> element of the same component |
Artifacts |
ASM_5007_TestCase.java Test_ASM_5007.composite TestInvocation.wsdlTestClient_0002.composite TestComposite3.composite TestComposite1.composite Service1.wsdl |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_5008_TestCase |
Test Assertion |
ASM-TA-5004 |
Description |
Tests that the @name attribute of a <reference/> element of a component is equal to the @name attribute of a <reference/> element of the <componentType/> of the <implementation/> of the <component/> |
Artifacts |
ASM_5008_TestCase.java Test_ASM_5008.composite TestInvocation.wsdl TestClient_0002.composite TestComposite4.composite TestComposite1.composite Service1.wsdl |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_5009_TestCase |
Test Assertion |
ASM-TA-5005 |
Description |
Tests that the @name attribute of a <component/> element in a <composite/> is not the same as the @name attribute of a second component in the same <composite/> |
Artifacts |
ASM_5009_TestCase.java Test_ASM_5009.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_5010_TestCase |
Test Assertion |
ASM-TA-5006 |
Description |
Tests that the interface specified by the <interface/> child element of a <service/> element is a compatible subset of the interface declared for the <service/> element with the same @name attribute in the <componentType/> of the <implementation/> of the <component/> parent of the <service/> |
Artifacts |
ASM_5010_TestCase.java Test_ASM_5010.composite TestInvocation.wsdl TestClient_0002.composite TestComposite5.composite Service1.wsdl |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_5011_TestCase |
Test Assertion |
ASM-TA-5010 |
Description |
Tests that the multiplicity of a <reference/> element of a <component/> can be 1..1 where the multiplicity of the equivalent <reference/> element in the <componentType/> of the <implementation/> of the <component/> is 1..n |
Artifacts |
ASM_5011_TestCase.java Test_ASM_5011.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite6.composite ASM_0002_Client.java Service1.wsdl |
Expected output |
Positive test: “ASM_5011 request service1 operation1 invoked service2 operation1 invoked” |
Testcase ID |
ASM_0012_TestCase |
Test Assertion |
ASM-TA-5011 |
Description |
Tests that the multiplicity of a <reference/> element of a <component/> can be any one of 0..1, 1..1, 0..n, 1..n where the multiplicity of the equivalent <reference/> element in the <componentType/> of the <implementation/> of the <component/> is 0..n |
Artifacts |
ASM_5012_TestCase.java Test_ASM_5012.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite7.composite Service1.wsdl |
Expected output |
Positive test: “ASM_5012 request service1 operation1 invoked service2 operation1 invoked service3 operation1 invoked service4 operation1 invoked service5 operation1 invoked” |
Testcase ID |
ASM_5013_TestCase |
Test Assertion |
ASM-TA-5012 |
Description |
Tests that the multiplicity of a <reference/> element of a <component/> is 1..1 where the multiplicity of the equivalent <reference/> element in the <componentType/> of the <implementation/> of the <component/> is 1..1 |
Artifacts |
ASM_5013_TestCase.java Test_ASM_5013.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite4.composite Service1.wsdl |
Expected output |
Positive test: “ASM_5013 request service1 operation1 invoked service2 operation1 invoked” |
Testcase ID |
ASM_5014_TestCase |
Test Assertion |
ASM-TA-5012 |
Description |
Tests that the multiplicity of a <reference/> element of a <component/> is 0..n where the multiplicity of the equivalent <reference/> element in the <componentType/> of the <implementation/> of the <component/> is 1..1 |
Artifacts |
ASM_5014_TestCase.java Test_ASM_5014.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite4.composite ASM_0002_Client.java Service1.wsdl |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_5015_TestCase |
Test Assertion |
ASM-TA-5013 |
Description |
Tests that the multiplicity of a <reference/> element of a <component/> is 1..1 where the multiplicity of the equivalent <reference/> element in the <componentType/> of the <implementation/> of the <component/> is 0..1 |
Artifacts |
ASM_5015_TestCase.java Test_ASM_5015.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite8.composite Service1.wsdl |
Expected output |
Positive test: “ASM_5015 request service1 operation1 invoked service2 operation1 invoked” |
Testcase ID |
ASM_5016_TestCase |
Test Assertion |
ASM-TA-5016 |
Description |
Tests that the interface declared by the <interface/> child element of a <reference/> of a <component/> is a compatible superset of the interface declared on the corresponding <reference/> of the componentType of the <implementation/> of the <component/> |
Artifacts |
ASM_5016_TestCase.java Test_ASM_5016.composite TestInvocation.wsdl TestClient_0002.composite TestComposite4.composite TestComposite9.composite Service1.wsdl Service1Superset.wsdl |
Expected output |
Positive test: “ASM_5016 request service1 operation1 invoked service2 operation1 invoked” |
Testcase ID |
ASM_5017_TestCase |
Test Assertion |
ASM-TA-5017 |
Description |
Tests that where a <reference/> of a <component/> has no <binding/> child element, but the corresponding <reference/> element in the componentType does have a binding child element, the <binding/> from the componentType is used for the reference |
Artifacts |
ASM_5017_TestCase.java Test_ASM_5017.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite10.composite ASM_0002_Client.java Service1.wsdl |
Expected output |
Positive test: “ASM_5017 request service1 operation1 invoked service2 operation1 invoked” |
Testcase ID |
ASM_5018_TestCase |
Test Assertion |
ASM-TA-5018 ASM-TA-5024 |
Description |
Tests that where a <reference/> of a <component/> has a <binding/> child element and the corresponding <reference/> element in the componentType has a binding child element, the <binding/> from the <reference/> is used for the reference |
Artifacts |
ASM_5018_TestCase.java Test_ASM_5018.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite10.composite Service1.wsdl |
Expected output |
Positive test: “ASM_5018 request service1 operation1 invoked service3 operation1 invoked” |
Testcase ID |
ASM_5019_TestCase |
Test Assertion |
ASM-TA-5021 |
Description |
Tests that where a <reference/> of a <component/> has @autowire=”true” and also has @target identifying a single target service that the reference is wired only to the single service identified by the @target attribute |
Artifacts |
ASM_5019_TestCase.java Test_ASM_5019.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite7.composite Service1.wsdl |
Expected output |
Positive test: “ASM_5019 request service1 operation1 invoked service3 operation1 invoked” |
Testcase ID |
ASM_5020_TestCase |
Test Assertion |
ASM-TA-5022 |
Description |
Tests that where a <reference/> of a <component/> has @autowire=true and where there is also a single <wire/> element which as that <reference/> as its source that the reference is wired only to the single service identified by the <wire/> element |
Artifacts |
ASM_5020_TestCase.java Test_ASM_5020.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite7.composite Service1.wsdl |
Expected output |
Positive test: “ASM_5020 request service1 operation1 invoked service3 operation1 invoked” |
Testcase ID |
ASM_5021_TestCase |
Test Assertion |
ASM-TA-5023 |
Description |
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 |
Artifacts |
ASM_5021_TestCase.java Test_ASM_5021.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite7.composite Service1.wsdl |
Expected output |
Positive test: “ASM_5021 request service1 operation1 invoked service3 operation1 invoked” |
Testcase ID |
ASM_5022_TestCase |
Test Assertion |
ASM-TA-5028 |
Description |
Tests that where a <component/> <reference/> with multiplicity=0..1 is unwired (by any means) that the component executes correctly |
Artifacts |
ASM_5022_TestCase.java Test_ASM_5022.composite TestInvocation.wsdl TestClient_0002.composite TestComposite8.composite Service1.wsdl |
Expected output |
Positive test: “ASM_5022 request service1 operation1 invoked” |
Testcase ID |
ASM_5023_TestCase |
Test Assertion |
ASM-TA-5029 |
Description |
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 |
Artifacts |
ASM_5023_TestCase.java Test_ASM_5023.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite11.composite Service1.wsdl |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_0024_TestCase |
Test Assertion |
ASM-TA-5030 |
Description |
Tests that where a <component/> <reference/> has @target set to some service, that the reference can have no child <binding/> elements |
Artifacts |
ASM_5024_TestCase.java Test_ASM_5024.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite4.composite Service1.wsdl |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_6001_TestCase |
Test Assertion |
ASM-TA-6004 |
Description |
Tests that where an SCA contribution contains two <composite/> elements with the same name and same targetNamespace that an SCA application using that composite does not run and that the SCA runtime reports an error |
Artifacts |
ASM_6001_TestCase.java Test_ASM_6001.composite TestInvocation.wsdl TestClient_0002.composite TestDuplicate1.composite TestDuplicate2.composite ASM_0002_Client.java Service1.wsdl |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_6002_TestCase |
Test Assertion |
ASM-TA-6006 |
Description |
Tests that where a <composite/> has multiple <service/> subelements that the @name attributes are unique across those subelements |
Artifacts |
ASM_6002_TestCase.java Test_ASM_6002.composite TestInvocation.wsdl TestClient_0002.composite TestComposite16.composite |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_6003_TestCase |
Test Assertion |
ASM-TA-6007 |
Description |
Tests that where a <composite/> has a <service/> subelement that the @promote attribute identifies a <service/> of a <component/> in the <composite/> |
Artifacts |
ASM_6003_TestCase.java Test_ASM_6003.composite TestInvocation.wsdl TestClient_0002.composite TestComposite17.composite Service1.wsdl |
Expected output |
Negative test: “exception” |
Testcase ID |
ASM_6004_TestCase |
Test Assertion |
ASM-TA-6008 |
Description |
Tests that the <interface/> declared on a <service/> subelement of a <composite/> is a compatible subset of the <interface/> declared on the <component/> <service/> reference by the @promote attribute |
Artifacts |
ASM_6004_TestCase.java Test_ASM_6004.composite TestInvocation.wsdl TestClient_0002.composite TestComposite18.composite |
Expected output |
Positive test: "ASM_6004 request service1 operation1 invoked" |
Testcase ID |
ASM_6005_TestCase |
Test Assertion |
ASM-TA-6009 |
Description |
Tests that the @name attribute of a <composite/> <reference/> element is unique amongst the @name attributes of all the <reference/> elements of that <composite/> |
Artifacts |
ASM_6005_TestCase.java Test_ASM_6005.composite TestInvocation.wsdl TestClient_0002.composite TestComposite19.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6006_TestCase |
Test Assertion |
ASM-TA-6010 |
Description |
Tests that the @promote attribute of a <composite/> <reference/> contains one or more URIs that each point to a <reference/> of a <component/> in the <composite/> |
Artifacts |
ASM_6006_TestCase.java Test_ASM_6006.composite TestInvocation.wsdl TestClient_0002.composite TestComposite20.composite TestComposite1.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6007_TestCase |
Test Assertion |
ASM-TA-6011 |
Description |
Tests that a <composite/> <reference/> can declare an <interface/> that is a compatible superset of the <interface/> declared by each <component/> <reference/> promoted by the composite reference |
Artifacts |
ASM_6007_TestCase.java Test_ASM_6007.composite TestInvocation.wsdl TestClient_0002.composite TestComposite21.composite TestComposite9.composite |
Expected output |
Positive test: "ASM_6007 request service1 operation1 invoked service2 operation1 invoked" |
Testcase ID |
ASM_6008_TestCase |
Test Assertion |
ASM-TA-6012 |
Description |
Tests that where a <composite/> <reference/> has no <interface/> subelement, and that <reference/> promotes 2 or more <component/> <reference/>s, that the <interface/> declared on each of the <component/> <reference/>s are the same |
Artifacts |
ASM_6008_TestCase.java Test_ASM_6008.composite TestInvocation.wsdl TestClient_0002.composite TestComposite22.composite TestComposite1.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6009_TestCase |
Test Assertion |
ASM-TA-6015 |
Description |
Tests that a <component/> <reference/> with @multiplicity=0..1 can be promoted by a <composite/> <reference/> with @multiplicity=1..1 |
Artifacts |
ASM_6009_TestCase.java Test_ASM_6009.composite TestInvocation.wsdl TestClient_0002.composite TestComposite23.composite TestComposite1.composite |
Expected output |
Positive test: "ASM_6009 request service1 operation1 invokedservice2 operation1 invoked" |
Testcase ID |
ASM_6010_TestCase |
Test Assertion |
ASM-TA-6017 |
Description |
Tests that a <component/> <reference/> with @multiplicity=0..n can be promoted by a <composite/> <reference/> with @multiplicity=0..1 |
Artifacts |
ASM_6010_TestCase.java Test_ASM_6010.composite TestInvocation.wsdl TestClient_0002.composite TestComposite24.composite TestComposite1.composite |
Expected output |
Positive test: "ASM_6010 request service1 operation1 invoked service2 operation1 invoked" |
Testcase ID |
ASM_6011_TestCase |
Test Assertion |
ASM-TA-6018 |
Description |
Tests that a <component/> <reference/> with @multiplicity=1..n can be promoted by a <composite/> <reference/> with @multiplicity=1..1 |
Artifacts |
ASM_6011_TestCase.java Test_ASM_6011.composite TestInvocation.wsdl TestClient_0002.composite TestComposite25.composite TestComposite1.composite |
Expected output |
Positive test: "ASM_6011 request service1 operation1 invoked service2 operation1 invoked" |
Testcase ID |
ASM_6012_TestCase |
Test Assertion |
ASM-TA-6019 |
Description |
Tests that the @name attribute of a <property/> element of a <composite/> is unique amongst the @name attribute values of all the <property/> elements of that <composite/> |
Artifacts |
ASM_6012_TestCase.java Test_ASM_6012.composite TestInvocation.wsdl TestClient_0002.composite TestComposite26.composite TestComposite1.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6013_TestCase |
Test Assertion |
ASM-TA-6020 |
Description |
Tests that a <component/> <reference/> with @autowire=true is wired to a compatible <component/> <service/> in the same <composite/> |
Artifacts |
ASM_6013_TestCase.java Test_ASM_6013.composite TestInvocation.wsdl TestClient_0002.composite TestComposite27.composite |
Expected output |
Positive test: "ASM_6013 request service1 operation1 invoked third operation1 invoked" |
Testcase ID |
ASM_6014_TestCase |
Test Assertion |
ASM-TA-6021 |
Description |
Tests that a <component/> <reference/> with @autowire=true is wired to a <component/> <service/> with an interface which is a compatible superset of the interface on the <reference/> in the same <composite/> |
Artifacts |
ASM_6014_TestCase.java Test_ASM_6014.composite TestInvocation.wsdl TestClient_0002.composite TestComposite28.composite |
Expected output |
Positive test: "ASM_6014 request service1 operation1 invoked third operation1 invoked" |
Testcase ID |
ASM_6016_TestCase |
Test Assertion |
ASM-TA-6023 |
Description |
Tests that a <component/> <reference/> with @autowire=true and with some intents attached using its @requires attribute is not wired to a compatible <component/> <service/> in the same <composite/>, where that <service/> has different intents attached using its @requires attribute |
Artifacts |
ASM_6016_TestCase.java Test_ASM_6016.composite TestInvocation.wsdl TestClient_0002.composite TestComposite30.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6017_TestCase |
Test Assertion |
ASM-TA-6024 |
Description |
Tests that a <component/> <reference/> with @autowire=true and @multiplicity="0..1" is wired to one compatible <component/> <service/> in the same <composite/> |
Artifacts |
ASM_6017_TestCase.java Test_ASM_6017.composite TestInvocation.wsdl TestClient_0002.composite TestComposite8.composite TestComposite1.composite Service1.wsdl |
Expected output |
Positive test with 2 alternative outputs: "ASM_6017 request service1 operation1 invoked second operation1 invoked" "ASM_6017 request service1 operation1 invoked third operation1 invoked" |
Testcase ID |
ASM_6018_TestCase |
Test Assertion |
ASM-TA-6025 |
Description |
Tests that a <component/> <reference/> with @autowire=true and @multiplicity="0..n" is wired to all compatible <component/> <service/>s in the same <composite/> |
Artifacts |
ASM_6018_TestCase.java Test_ASM_6018.composite TestInvocation.wsdl TestClient_0002.composite TestComposite7.composite TestComposite1.composite Service1.wsdl |
Expected output |
Positive test: "ASM_6018 request service1 operation1 invoked second operation1 invoked third operation1 invoked fourth operation1 invoked" |
Testcase ID |
ASM_6019_TestCase |
Test Assertion |
ASM-TA-6026 |
Description |
Tests that a <component/> <reference/> with @autowire=true and @multiplicity="0..n" runs successfully when there are no compatible <component/> <service/>s in the same <composite/> |
Artifacts |
ASM_6019_TestCase.java Test_ASM_6019.composite TestInvocation.wsdl TestClient_0002.composite TestComposite7.composite Service1.wsdl |
Expected output |
Positive test: "ASM_6019 request service1 operation1 invoked" |
Testcase ID |
ASM_6020_TestCase |
Test Assertion |
ASM-TA-6027 |
Description |
Tests that a <component/> <reference/> with @autowire=true and @multiplicity="1..n" fails and causes an error to be raised when there are no compatible <component/> <service/>s in the same <composite/> |
Artifacts |
ASM_6020_TestCase.java Test_ASM_6020.composite TestInvocation.wsdl TestClient_0002.composite TestComposite6.composite Service1.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6021_TestCase |
Test Assertion |
ASM-TA-6028 |
Description |
Tests that a <composite/> <service/> @promote attribute contains the URI of a <component/> <service/> in the <composite/> |
Artifacts |
ASM_6021_TestCase.java Test_ASM_6021.composite TestInvocation.wsdl TestClient_0002.composite TestComposite31.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6022_TestCase |
Test Assertion |
ASM-TA-6029 |
Description |
Tests that a <component/> <reference/> with multiplicity ="1..n" is wired to a <service/> in the same <composite/> or is promoted by a <composite> <reference/>, when the containing <composite/> is used as an <implementation/> |
Artifacts |
ASM_6022_TestCase.java Test_ASM_6022.composite TestInvocation.wsdl TestClient_0002.composite TestComposite32.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6023_TestCase |
Test Assertion |
ASM-TA-6030 |
Description |
Tests that a <component/> <property/> which is marked with @mustSupply="true" in the componentType of the <component/> <implementation/> is given a value |
Artifacts |
ASM_6023_TestCase.java Test_ASM_6023.composite TestInvocation.wsdl TestClient_0002.composite TestComposite33.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6024_TestCase |
Test Assertion |
ASM-TA-6031 |
Description |
Tests that the @name attribute of an <implementation.composite/> element is the QName of a <composite/> in the SCA Domain |
Artifacts |
ASM_6024_TestCase.java Test_ASM_6024.composite TestInvocation.wsdl TestClient_0002.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6025_TestCase |
Test Assertion |
ASM-TA-6032 |
Description |
Tests that when an <include/> element is processed and results in an invalid <composite/> configuration, then the SCA runtime raises an error and does not run the resulting composite |
Artifacts |
ASM_6025_TestCase.java Test_ASM_6025.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite34.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6026_TestCase |
Test Assertion |
ASM-TA-6035 ASM-TA-6036 |
Description |
Tests that when a @promote attribute of a <composite/> <reference/> has a URI for a <component/> <reference/> that is present in a <composite> which is referenced through an <include/> element in the first <composite/> and also when a @promote attribute of a <composite/> <service/> has a URI for a <component/> <service/> present in the same included <composite/> then the promotions succeed and the <component/> <service/> can be invoked and the <component/> is able to invoke the reference |
Artifacts |
ASM_6026_TestCase.java Test_ASM_6026.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite4.composite TestComposite35.composite TestComposite36.composite Service1.wsdl |
Expected output |
Positive test: "ASM_6026 request service1 operation1 invoked service2 operation1 invoked" |
Testcase ID |
ASM_6027_TestCase |
Test Assertion |
ASM-TA-6037 |
Description |
Tests that when a first <composite/> contains a <wire/> element which has a @source attribute referencing a <component/> <reference/> in a second <composite/> and a @target attribute referencing a <component/> <service/> element also in that second <composite>, where the second composite is referenced by an <include/> element in the first <composite/>, then the wire successfully connects the <reference/> to the <service/> and the client component can invoke operations on the service. |
Artifacts |
ASM_6027_TestCase.java Test_ASM_6027.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite4.composite TestComposite37.composite |
Expected output |
Positive test: "ASM_6027 request service1 operation1 invoked service2 operation1 invoked" |
Testcase ID |
ASM_6028_TestCase |
Test Assertion |
ASM-TA-6038 ASM-TA-6039 |
Description |
Tests that when a <composite/> <property/> element has a @type attribute declared it does not also have a @element attribute declared |
Artifacts |
ASM_6028_TestCase.java Test_ASM_6028.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6029_TestCase |
Test Assertion |
ASM-TA-6040 |
Description |
Tests that when a <composite/> has an <include/> which references a second <composite/> which has @local="true", then the first composite also has @local="true" |
Artifacts |
ASM_6029_TestCase.java Test_ASM_6029.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite4.composite TestComposite38.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6030_TestCase |
Test Assertion |
ASM-TA-6041 |
Description |
Tests that when a <composite/> has an <include/> element, the @name of the <include/> references the QName of a composite in the Domain |
Artifacts |
ASM_6030_TestCase.java Test_ASM_6030.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6031_TestCase |
Test Assertion |
ASM-TA-6013 |
Description |
Tests that when a <composite/> <reference/> has @requires with intents declared and the <component/> <reference/> promoted by the composite reference has @requires with intents declared, the two sets of intents do not contain a mutually exclusive pair of intents |
Artifacts |
ASM_6031_TestCase.java Test_ASM_6031.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite39.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6032_TestCase |
Test Assertion |
ASM-TA-6014 |
Description |
Tests that when a <composite/> <reference/> has @requires with 2 or more intents in the declared set, that the set does not contain 2 mutually exclusive intents |
Artifacts |
ASM_6032_TestCase.java Test_ASM_6032.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite40.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6033_TestCase |
Test Assertion |
ASM-TA-6016 |
Description |
Tests that when a <composite/> <reference/> element promotes a <component/> <reference/> element with @multiplicity="1..1", the @multiplicity of the <composite/> <reference/> is also "1..1" |
Artifacts |
ASM_6033_TestCase.java Test_ASM_6033.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestComposite41.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6034_TestCase |
Test Assertion |
ASM-TA-6042 |
Description |
Tests that when a <wire/> element connects a component <reference/> to a component <service/>, that the interface of the service is a compatible superset of the interface of the reference |
Artifacts |
ASM_6034_TestCase.java Test_ASM_6034.composite TestInvocation.wsdl TestClient_0002.composite TestComposite9.composite TestComposite4.composite |
Expected output |
Positive test: "ASM_6034 request service1 operation1 invoked service2 operation1 invoked" |
Testcase ID |
ASM_6035_TestCase |
Test Assertion |
ASM-TA-6044 |
Description |
Tests that when a component<reference/> element has a @target attribute containing a single target in the form "component-name/service-name" and the component with the name "component-name" has multiple services, each of which are compatible with the reference, and one of which has the name "service-name", that the reference is wired to the service with the name "service-name" and is able to invoke it. |
Artifacts |
ASM_6035_TestCase.java Test_ASM_6035.composite TestInvocation.wsdl TestClient_0002.composite TestComposite75.composite TestComposite1.composite |
Expected output |
Positive test: "ASM_6035 request serviceA operation1 invoked" |
Testcase ID |
ASM_6036_TestCase |
Test Assertion |
ASM-TA-6045 |
Description |
Tests that when a component<reference/> element has a @target attribute containing a single target in the form "component-name/service-name" and the component with the name "component-name" has multiple services, each of which are compatible with the reference, but none of them has the name "service-name", that the reference is not wired to any service and the SCA runtime raises an error |
Artifacts |
ASM_6036_TestCase.java Test_ASM_6036.composite TestInvocation.wsdl TestClient_0002.composite TestComposite75.composite TestComposite1.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6037_TestCase |
Test Assertion |
ASM-TA-6046 |
Description |
Tests that when a component<reference/> element has a @target attribute containing a single target in the form "component-name" and the component with the name "component-name" has a single service with the name "service-name", which is compatible with the reference, that the reference is wired to the service and is able to invoke it |
Artifacts |
ASM_6037_TestCase.java Test_ASM_6037.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite |
Expected output |
Positive test: "ASM_6037 request service1 operation1 invoked" |
Testcase ID |
ASM_6038_TestCase |
Test Assertion |
ASM-TA-6047 |
Description |
Tests that when a component<reference/> element has a @target attribute containing a single target in the form "component-name/service-name/binding-name" and the component with the name "component-name" has a service with the name "service-name" with a binding with the name "binding-name", which is compatible with the reference, that the reference is wired to the service and is able to invoke it |
Artifacts |
ASM_6038_TestCase.java Test_ASM_6038.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite |
Expected output |
Positive test: "ASM_6038 request service1 operation1 invoked" |
Testcase ID |
ASM_6039_TestCase |
Test Assertion |
ASM-TA-6048 |
Description |
Tests that when a component<reference/> element has a @target attribute containing a single target in the form "component-name/service-name/binding-name" and the component with the name "component-name" has a service with the name "service-name" which is compatible with the reference, but which does not have a binding with the name "binding-name", that the reference is not wired to the service and the SCA runtime raises an exception |
Artifacts |
ASM_6039_TestCase.java Test_ASM_6039.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_6040_TestCase |
Test Assertion |
ASM-TA-6049 |
Description |
Tests that when a component<reference/> element has a @target attribute containing a single target in the form "component-name/service-name" and the reference has a policy requirement attached, and the component with the name "component-name" has a service with the name "service-name" with multiple bindings one of which has the same policy requirement as the reference, that the reference is wired to the service using that binding and is able to invoke it |
Artifacts |
ASM_6040_TestCase.java Test_ASM_6040.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite |
Expected output |
Positive test: "ASM_6040 request service1 operation1 invoked" |
Testcase ID |
ASM_8002_TestCase |
Test Assertion |
ASM-TA-8002 |
Description |
Tests that when an <interface/> element references an interface document which is marked remotable, that the value of an input parameter of an operation in the interface in the client component implementation is the same after the operation completes as immediately before invoking the operation |
Artifacts |
ASM_8002_TestCase.java Test_ASM_8002.composite TestInvocation.wsdl TestClient_0002.composite TestComposite52.composite TestComposite53.composite Service1.wsdl Service4.wsdl |
Expected output |
Positive test: "ASM_8002 request service1 operation1 invoked" |
Testcase ID |
ASM_8003_TestCase |
Test Assertion |
ASM-TA-8004 ASM-TA-8007 |
Description |
Tests that when an <interface/> element of a <component/> <reference/> has an interface that is marked bidirectional, that the invoked <service/> <implementation/> can invoke an operation of the callback interface on the <implementation/> which has the <reference/> |
Artifacts |
ASM_8003_TestCase.java Test_ASM_8003.composite TestInvocation.wsdl TestClient_0002.composite TestComposite54.composite TestComposite55.composite Service1.wsdl Service5.wsdl Service5Callback.wsdl |
Expected output |
Positive test: "ASM_8003 request service1 operation1 invoked service2 operation1 invoked service1 callback1 invoked" |
Testcase ID |
ASM_8006_TestCase |
Test Assertion |
ASM-TA-8008 |
Description |
Tests that when an <interface/> element of a <component/> <reference/> explicitly declares both a forward interface and a callback interface and the forward interface document also declares a callback interface, that the two callback interfaces are compatible |
Artifacts |
ASM_8006_TestCase.java Test_ASM_8006.composite TestInvocation.wsdl TestClient_0002.composite TestComposite60.composite TestComposite61.composite Service1.wsdl Service9.wsdl Service8Callback.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_8007_TestCase |
Test Assertion |
ASM-TA-8009 |
Description |
Tests that when an <interface/> element of a <component/> <service/> explicitly declares both a forward interface and a callback interface that the callback interface is compatible with the callback interface of the <componentType/> <service/> element of the <implementation/> used by the <component/> |
Artifacts |
ASM_8007_TestCase.java Test_ASM_8007.composite TestInvocation.wsdl TestClient_0002.composite TestComposite54.composite TestComposite55.composite Service1.wsdl Service5.wsdl Service5Callback.wsdl Service8Callback.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_8008_TestCase |
Test Assertion |
ASM-TA-8010 |
Description |
Tests that when an <interface/> element of a <component/> <reference/> explicitly declares both a forward interface and a callback interface that the callback interface is compatible with the callback interface of the <componentType/> <reference/> element of the <implementation/> used by the <component/> |
Artifacts |
ASM_8008_TestCase.java Test_ASM_8008.composite TestInvocation.wsdl TestClient_0002.composite TestComposite54.composite TestComposite55.composite Service1.wsdl Service5.wsdl Service5Callback.wsdl Service8Callback.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_8009_TestCase |
Test Assertion |
ASM-TA-8011 |
Description |
Tests that when an <interface/> element of an <implementation/> <componentType/> <reference/> or <service/> does not declare a callback interface that the <component/> <reference/> or <service/> element of the <component/> using the <implementation/> also does not declare a callback interfaceTests that where the <interface/> element of a reference in the componentType of an implementation does not declare a callback interface, then the corresponding reference element of the component using the implementation also does not declare a callback interface in its <interface/> subelement |
Artifacts |
ASM_8009_TestCase.java Test_ASM_8009.composite TestInvocation.wsdl TestClient_0002.composite TestComposite54.composite TestComposite55.composite Service1.wsdl Service5Callback.java |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_8010_TestCase |
Test Assertion |
ASM-TA-8012 |
Description |
Tests that when an <interface/> element of a <component/> <service/> declares a callback interface that the <composite/> <service/> element which promotes the component service declares a compatible callback interface |
Artifacts |
ASM_8010_TestCase.java Test_ASM_8010.composite TestInvocation.wsdlTestClient_0002.composite TestComposite54.composite TestComposite63.composite Service1.wsdl Service5.wsdl Service5Callback.wsdl Service8Callback.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_8011_TestCase |
Test Assertion |
ASM-TA-8013 |
Description |
Tests that when an <interface/> element of a <component/> <reference/> declares a callback interface that the <composite/> <reference/> element which promotes the component service declares a compatible callback interface |
Artifacts |
ASM_8011_TestCase.java Test_ASM_8011.composite TestInvocation.wsdl TestClient_0002.composite TestComposite62.composite TestComposite55.composite Service5.wsdl Service5Callback.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_8012_TestCase |
Test Assertion |
ASM-TA-8014 |
Description |
Tests that when an <interface/> element of a <component/> <reference/> does not declare a callback interface that the <composite/> <reference/> element which promotes the <component/> <reference/> also does not declare a callback interface |
Artifacts |
ASM_8012_TestCase.java Test_ASM_8012.composite TestInvocation.wsdl TestClient_0002.composite TestComposite64.composite Service1.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_8013_TestCase |
Test Assertion |
ASM-TA-8015 |
Description |
Tests that where the <implementation/> of a component with a <service/> with an <interface/> with a callback, the implementation can invoke operations of the callback interface an arbitrary number of times |
Artifacts |
ASM_8013_TestCase.java Test_ASM_8013.composite TestInvocation.wsdl TestClient_0002.composite TestComposite54.composite TestComposite65.composite Service1.wsdl Service5.wsdl Service5Callback.wsdl |
Expected output |
Positive test: "ASM_8013 request service1 operation1 invoked service2 operation1 invoked service1 callback1 invoked service1 callback1 invoked service1 callback1 invoked" |
Testcase ID |
ASM_8014_TestCase |
Test Assertion |
ASM-TA-8018 |
Description |
Tests that when an <interface/> element of a <service/> or <reference/> has one or more intents attached to it, those intents apply to the <service/> or <reference/> |
Artifacts |
ASM_8014_TestCase.java Test_ASM_8014.composite TestInvocation.wsdl TestClient_0002.composite TestComposite4.composite TestComposite66.composite Service1.wsdl Service1_Intent.wsdl |
Expected output |
Positive test: "ASM_8018 request service1 operation1 invoked service2 operation1 invoked" |
Testcase ID |
ASM_8015_TestCase |
Test Assertion |
ASM-TA-8020 |
Description |
Tests that when an <interface.wsdl/> element is used to declare an interface, that the @interface attribute of the element references a WSDL 1.1 portType |
Artifacts |
ASM_8015_TestCase.java Test_ASM_8015.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite TestInvocation.wsdl Service1.wsdl |
Expected output |
Positive test: "ASM_8015 request service1 operation1 invoked" |
Testcase ID |
ASM_8016_TestCase |
Test Assertion |
ASM-TA-8021 |
Description |
Tests that when an <interface.wsdl/> element is used to declare a callback interface, that the @callbackInterface attribute of the element references a WSDL 1.1 portType |
Artifacts |
ASM_8016_TestCase.java Test_ASM_8016.composite TestInvocation.wsdl TestClient_0002.composite TestComposite54.composite TestComposite55.composite ASM_0002_Client.java Service1.wsdl Service5.wsdl Service5Callback.wsdl |
Expected output |
Positive test: "ASM_8016 request service1 operation1 invoked service2 operation1 invoked service1 callback1 invoked" |
Testcase ID |
ASM_8017_TestCase |
Test Assertion |
ASM-TA-8014 |
Description |
Tests that when an <interface/> element of a <component/> <service/> does not declare a callback interface that the <composite/> <service/> element which promotes the <component/> <service/> also does not declare a callback interface |
Artifacts |
ASM_8017_TestCase.java Test_ASM_8017.composite TestInvocation.wsdl TestClient_0002.composite TestComposite64.composite Service1.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_8018_TestCase |
Test Assertion |
ASM-TA-8011 |
Description |
Tests that where the <interface/> element of a service in the componentType of an implementation does not declare a callback interface, then the corresponding service element of the component using the implementation also does not declare a callback interface in its <interface/> subelement |
Artifacts |
ASM_8018_TestCase.java Test_ASM_8018.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl Service5Callback.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_8019_TestCase |
Test Assertion |
ASM-TA-8022 |
Description |
Tests that an <interface.wsdl/> element does not contain @remotable="false" |
Artifacts |
ASM_8019_TestCase.java Test_ASM_8019.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_9001_TestCase |
Test Assertion |
ASM-TA-9002 |
Description |
Tests that if a <binding/> element of a <reference/> element has a @uri attribute set, that it points to a service endpoint. |
Artifacts |
ASM_9001_TestCase.java Test_ASM_9001.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl |
Expected output |
Positive test: "ASM_9001 request service1 operation1 invoked" |
Testcase ID |
ASM_9002_TestCase |
Test Assertion |
ASM-TA-9003 |
Description |
Tests that if a <service/> element has multiple <binding/> subelements, that the @name attribute of each <binding/> element must be unique amongst the binding elements of that <service/> |
Artifacts |
ASM_9002_TestCase.java Test_ASM_9002.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_9003_TestCase |
Test Assertion |
ASM-TA-9004 |
Description |
Tests that if a <binding/> element of a <reference/> element does not identify a target service using binding specific mechanisms, that it has a @uri attribute which resolves to a valid service endpoint |
Artifacts |
ASM_9003_TestCase.java Test_ASM_9003.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl |
Expected output |
Positive test: "ASM_9003 request service1 operation1 invoked" |
Testcase ID |
ASM_9004_TestCase |
Test Assertion |
ASM-TA-9005 |
Description |
Tests that if a <binding/> element of a <reference/> element is wired to a <service/> element which has multiple <binding/> subelements, each with a @name attribute set, that the @target attribute of the <reference/> uses the form "componentName/serviceName/bindingName" to select one specific binding for the wire |
Artifacts |
ASM_9004_TestCase.java Test_ASM_9004.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl |
Expected output |
Positive test: "ASM_9004 request service1 operation1 invoked" |
Testcase ID |
ASM_9005_TestCase |
Test Assertion |
ASM-TA-9006 |
Description |
Tests that if a component service has a <binding.sca/> subelement, that the binding.sca element does not declare a @uri attribute |
Artifacts |
ASM_9005_TestCase.java Test_ASM_9005.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_10001_TestCase |
Test Assertion |
ASM-TA-10001 |
Description |
Tests that the Qname of an <intent/> <policySet/> <bindingType/> or <implementationType/> subelement of a <definitions/> element is unique in the Domain |
Artifacts |
ASM_10001_TestCase.java Test_ASM_5002.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl ASM_10001/definitions.xml |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_10002_TestCase |
Test Assertion |
ASM-TA-10002 |
Description |
Tests that when a <definitions/> file contains an <intent/> subelement, that the intent is available for use by any element in the SCA Domain |
Artifacts |
ASM_10002_TestCase.java Test_ASM_10002.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl General/META-INF/definitions.xml |
Expected output |
Positive test: "ASM_10002 request service1 operation1 invoked" |
Testcase ID |
ASM_10003_TestCase |
Test Assertion |
ASM-TA-10003 ASM-TA-13003 |
Description |
Tests that when a <definitions/> file has content that does not conform to the sca-definitions.xsd, it is rejected by the SCA runtime |
Artifacts |
ASM_10003_TestCase.java Test_ASM_10003.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl ASM_10003/META-INF/definitions.xml |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_12002_TestCase |
Test Assertion |
ASM-TA-12005 ASM-TA-12002 |
Description |
Tests that where a WSDL document references its schema using @schemaLocation attribute (schema artifact specific artifact resolution mechanism), that this is used to resolve the schema rather than SCA mechanisms. |
Artifacts |
ASM_12002_TestCase.java Test_ASM_12002.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1a.wsdl Service1a.xsd (at location http://www.oasis-open.org/committees/download.php/32378/Service1a.xsd) |
Expected output |
Positive test: "ASM_12002 request service1 operation1 invoked" |
Testcase ID |
ASM_12003_TestCase |
Test Assertion |
ASM-TA-12006 ASM-TA-12012 |
Description |
Tests that where a WSDL document references its schema using @schemaLocation attribute (schema artifact specific artifact resolution mechanism), and that this mechanism fails, then the SCA runtime reports an error |
Artifacts |
ASM_12003_TestCase.java Test_ASM_12003.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1b.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_12004_TestCase |
Test Assertion |
ASM-TA-12007 |
Description |
Tests that the SCA runtime accepts and runs a contribution in ZIP format |
Artifacts |
ASM_12004_TestCase.java Test_ASM_12004.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl ASM_12004.zip |
Expected output |
Positive test: "ASM_12004 request service1 operation1 invoked" |
Testcase ID |
ASM_12005_TestCase |
Test Assertion |
ASM-TA-12010 |
Description |
Tests that where multiple indirect dependent contributions export conflicting artifacts, the conflict is resolved by explicit import statements in the root contribution
The concept of the test is that two composite files with the same name in 2 different contributions have different contents - and that only 1 of them will work with the root composite file |
Artifacts |
ASM_12005_TestCase.java Test_ASM_12005.composite TestInvocation.wsdl TestClient_0002.composite TestComposite5.composite (version 1 - contribution = General) TestComposite5.composite (version 2 - contribution = Contribution1) Service1.wsdl |
Expected output |
Positive test: "ASM_12005 request servicex operation1 invoked" |
Testcase ID |
ASM_12006_TestCase |
Test Assertion |
ASM-TA-12013 |
Description |
Tests that where a <component/> <reference/> is not wired by any explicit means, where the component is at the SCA Domain level that the reference remains unwired and cannot be invoked by the <component/> <implementation/> |
Artifacts |
ASM_12006_TestCase.java Test_ASM_12006.composite TestClient_0004.composite TestComposite1.composite ASM_0002_Client.java Service1.wsdl |
Expected output |
Positive test: "ASM_12006 request no invocation" |
Testcase ID |
ASM_12007_TestCase |
Test Assertion |
ASM-TA-12027 |
Description |
Tests that where a contribution contains multiple <import/> declarations which refer to the namespace of a referenced artifact, that the artifact is found by searching target locations in the order in which the <import/> statements occur in the <contribution/> document |
Artifacts |
ASM_12007_TestCase.java Test_ASM_12007.composite TestInvocation.wsdl TestClient_0002.composite TestComposite5.composite (version 1 - contribution = General) TestComposite5.composite (version 2 - contribution = Contribution1) Service1.wsdl ASM_12007/META-INF/sca-contribution.xml |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_12008_TestCase |
Test Assertion |
ASM-TA-12028 |
Description |
Tests that where a contribution contains an <import/> declaration which refers to the namespace of a referenced artifact and where the artifact is present in a second contribution which exports the namespace, that the artifact is resolved in the second contribution even though a copy of the artifact exists in the original contribution |
Artifacts |
ASM_12008_TestCase.java Test_ASM_12008.composite TestInvocation.wsdl TestClient_0002.composite TestComposite5a.composite (version 1 - contribution = General) TestComposite5.composite (version 2 - contribution = ASM_12008) Service1.wsdl ASM_12008/META-IF/sca-contribution.xml |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_12009_TestCase |
Test Assertion |
ASM-TA-12029 |
Description |
Tests that where a contribution contains an <import/> declaration with a specified target contribution which refers to the namespace of a referenced artifact and where the artifact is NOT present in the target contribution which exports the namespace, that the artifact is resolved in the first contribution when a copy of the artifact exists in the original contribution |
Artifacts |
ASM_12009_TestCase.java Test_ASM_12009.composite TestInvocation.wsdl TestClient_0002.composite TestComposite66.composite Service1.wsdl Contribution1 ASM_12009/META-IF/sca-contribution.xml |
Expected output |
Positive test: "ASM_12009 request servicex operation1 invoked" |
Testcase ID |
ASM_12010_TestCase |
Test Assertion |
ASM-TA-12030 |
Description |
Tests that where a first contribution resolves an artifact reference to an artifact in a second contribution, where the resolved artifact has a further artifact reference, that this reference is resolved through the import statements of the second contribution even if the first contribution has import statements (to different locations) for the same namespace |
Artifacts |
ASM_12010_TestCase.java Test_ASM_12010.composite TestInvocation.wsdl TestClient_0002.composite TestComposite67.composite (Contribution2) TestComposite5.composite (version 1 - contribution = General) TestComposite5.composite (version 2 - contribution = Contribution1) Service1.wsdl ASM_12010/META-IF/sca-contribution.xml Contribution2/META-INF/sca-contribution.xml |
Expected output |
Positive test: "ASM_12010 request servicex operation1 invoked" |
Testcase ID |
ASM_12011_TestCase |
Test Assertion |
ASM-TA-12031 |
Description |
Tests that where a contribution contains an <import/> declaration with a specific target contribution which refers to the namespace of a referenced artifact and the artifact is neither present in the target contribution nor the original contribution, that the resolution fails and the SCA runtime reports an error even where that artifact is available in other contributions |
Artifacts |
ASM_12011_TestCase.java Test_ASM_12011.composite TestInvocation.wsdl TestClient_0002.composite TestComposite68.composite Service1.wsdl ASM_12010/META-IF/sca-contribution.xml |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_12012_TestCase |
Test Assertion |
ASM-TA-12032 ASM-TA-13002 |
Description |
Tests that where a contribution contains an sca-contribution.xml file that violates the schema sca-contribution.xsd, that the SCA runtime rejects the file and raises an error |
Artifacts |
ASM_12012_TestCase.java Test_ASM_12012.composite TestInvocation.wsdl TestClient_0002.composite TestComposite5.composite (version 1 - contribution = General) Service1.wsdl ASM_12012/META-IF/sca-contribution.xml |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_12013_TestCase |
Test Assertion |
ASM-TA-12035 |
Description |
Tests that where a contribution has an artifact with an artifact dependency which is resolved via an <import/> declaration to an artifact in a second contribution and the resolved artifact has a further dependency on an artifact that is present in both the original contribution and in the second contribution that the dependency of the resolved artifact is resolved to the artifact in the second contribution |
Artifacts |
ASM_12013_TestCase.java Test_ASM_12013.composite TestInvocation.wsdl TestClient_0002.composite TestComposite69.composite TestComposite1.composite (version 1 - contribution = General) TestComposite1.composite (version 2 - contribution = ASM_12013) Service1.wsdl Service1.java service1Impl.java ASM_12013/META-IF/sca-contribution.xml |
Expected output |
Positive test: "ASM_12013 request service1 operation1 invoked" |
Testcase ID |
ASM_13001_TestCase |
Test Assertion |
ASM-TA-13001 |
Description |
Tests that the SCA runtime rejects an invalid composite file which violates one of the SCA schemas (sca-core.xsd, sca-interface-wsdl.xsd, sca-implementation-composite.xsd and sca-binding-sca.xsd). |
Artifacts |
ASM_13001_TestCase.java Test_ASM_13001.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_13002_TestCase |
Test Assertion |
ASM-TA-13001 |
Description |
Tests that the SCA runtime rejects an invalid composite file which violates one of the SCA schemas (sca-core.xsd, sca-interface-wsdl.xsd, sca-implementation-composite.xsd and sca-binding-sca.xsd). |
Artifacts |
ASM_13002_TestCase.java Test_ASM_13002.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_13003_TestCase |
Test Assertion |
ASM-TA-13001 |
Description |
Tests that the SCA runtime rejects an invalid composite file which violates one of the SCA schemas (sca-core.xsd, sca-interface-wsdl.xsd, sca-implementation-composite.xsd and sca-binding-sca.xsd). |
Artifacts |
ASM_13003_TestCase.java Test_ASM_13003.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_13004_TestCase |
Test Assertion |
ASM-TA-13001 |
Description |
Tests that the SCA runtime rejects an invalid composite file which violates one of the SCA schemas (sca-core.xsd, sca-interface-wsdl.xsd, sca-implementation-composite.xsd and sca-binding-sca.xsd). |
Artifacts |
ASM_13004_TestCase.java Test_ASM_13004.composite TestInvocation.wsdl TestClient_0002.composite TestComposite1.composite Service1.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_13005_TestCase |
Test Assertion |
ASM-TA-13001 |
Description |
Tests that the SCA runtime rejects an invalid composite file which violates one of the SCA schemas (sca-core.xsd, sca-interface-wsdl.xsd, sca-implementation-composite.xsd and sca-binding-sca.xsd). |
Artifacts |
ASM_13005_TestCase.java Test_ASM_13005.composite TestInvocation.wsdl TestComposite1.composite Service1.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_13006_TestCase |
Test Assertion |
ASM-TA-13001 |
Description |
Tests that the SCA runtime rejects an invalid composite file which violates one of the SCA schemas (sca-core.xsd, sca-interface-wsdl.xsd, sca-implementation-composite.xsd and sca-binding-sca.xsd). |
Artifacts |
ASM_13006_TestCase.java Test_ASM_13006.composite TestClient_0002.composite TestComposite1.composite Service1.wsdl ** test.TestInvocation.java ** |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_13007_TestCase |
Test Assertion |
ASM-TA-13001 |
Description |
Tests that the SCA runtime rejects an invalid composite file which violates one of the SCA schemas (sca-core.xsd, sca-interface-wsdl.xsd, sca-implementation-composite.xsd and sca-binding-sca.xsd). |
Artifacts |
ASM_13007_TestCase.java Test_ASM_13007.composite TestInvocation.wsdl TestClient_0002.composite Service1.wsdl |
Expected output |
Negative test: "exception" |
Testcase ID |
ASM_13008_TestCase |
Test Assertion |
ASM-TA-13001 |
Description |
Tests that the SCA runtime rejects an invalid composite file which violates one of the SCA schemas (sca-core.xsd, sca-interface-wsdl.xsd, sca-implementation-composite.xsd and sca-binding-sca.xsd). |
Artifacts |
ASM_13008_TestCase.java Test_ASM_13008.composite TestInvocation.wsdl TestClient_0002.composite Service1.wsdl |
Expected output |
Negative test: "exception" |
Name |
Valid |
Description |
Marked "Impl Specific" if it is implementation type specific |
|
Services and References use interface Service1 unless described otherwise |
"Impl Specific" |
Y |
1 service service1Impl |
TestComposite2.composite
|
N |
2 services - with same name 0 references service1Impl Contribution: ASM_5005 |
TestComposite3.composite
|
N |
1 service, 2 references - with same name service1Impl2 Contribution: ASM_5007 |
TestComposite4.composite "Impl Specific" |
Y |
1 service, 1 reference (1..1) service1Impl2 |
TestComposite5.composite "Impl Specific" |
Y |
1 service - interface = Service2 0 references service2Impl |
TestComposite6.composite "Impl Specific" |
Y |
1 service, 1 reference (1..n) service1Impl3 |
TestComposite7.composite "Impl Specific" |
Y |
1 service, 1 reference (0..n) service1Impl4 |
TestComposite8.composite "Impl Specific" |
Y |
1 service, 1 reference (0..1) service1Impl6 |
TestComposite9.composite "Impl Specific" |
Y |
1 service - superset interface = Service1Superset 0 references service1SupersetImpl |
TestComposite10.composite |
Y |
1 service 1 reference (1..1) with binding and target |
TestComposite11.composite |
N |
1 service, 1 reference 1 component with 1..1 reference that is wired and promoted Contribution: ASM_5023 |
TestComposite12.composite |
Y |
1 service 0 references 1 property of complex type typed with @type uses TestComposite71 |
TestComposite13.composite |
Y |
1 service 0 references 1 property of complex type typed with @element uses TestComposite71 |
TestComposite14.composite |
Y |
1 service 0 references 1 property of simple type (string) |
TestComposite15.composite |
Y |
1 service - with multiple bindings declared 0 references |
TestComposite16.composite |
N |
3 services - 2 with same name Contributions: ASM_4002, ASM_6002 |
TestComposite17.composite |
N |
2 services - 1 with invalid @promote value Contribution: ASM_6003 |
TestComposite18.composite |
Y |
1 service - service interface is compatible subset of interface of promoted component service |
TestComposite19.composite |
N |
1 service, 2 references - with same name Contributions: ASM_4003, ASM_6005 |
TestComposite20.composite |
N |
1 service, 1 reference with invalid @promote value Contribution: ASM_6006 |
TestComposite21.composite |
Y |
1 service, 1 reference (1..1) with interface that is compatible superset of interface of promoted component reference |
TestComposite22.composite |
Y |
1 service, 1 reference (1..1) promotes 2 component references with different interfaces declared (Service1, Service1Superset) uses TestComposite70 |
TestComposite23.composite |
Y |
1 service, 1 reference (1..1) that promotes component reference with (0..1) multiplicity uses TestComposite8 |
TestComposite24.composite |
Y |
1 service, 1 reference (0..1) that promotes component reference with (0..n) multiplicity |
TestComposite25.composite |
Y |
1 service, 1 reference (1..1) that promotes component reference with (1..n) multiplicity |
TestComposite26.composite |
N |
1 service, 1 reference, 3 properties - all with same name Contributions: ASM_4004, ASM_6012 |
TestComposite27.composite |
Y |
1 service, 2 components, one with @autowire="true" reference , one with service with compatible interface |
TestComposite28.composite |
Y |
1 service, 2 components, one with @autowire="true" reference , one with service with superset interface |
|
|
|
TestComposite30.composite |
N |
1 service, 2 components, one with @autowire="true" reference + set of intents, one with service with compatible interface but different set of intents Contribution: ASM_6016 |
TestComposite31.composite |
N |
1 service, composite service has a @promote URI that does not point to a component service within the composite 0 references Contribution: ASM_6021 |
TestComposite32.composite |
N |
1 service, contains a component with a 1..n reference that is neither promoted nor wired internally in the composite Contribution: ASM_6022 |
TestComposite33.composite |
Y |
1 service, 2 properties, plus a component with multiple properties which are sourced from the composite properties |
TestComposite34.composite |
Y |
Composite designed for including within another composite - contains 1 component only |
TestComposite35.composite |
Y |
1 service and 1 reference, where the component that implements the service & reference is included from a second composite (TestComposite36) |
TestComposite36.composite |
Y |
Composite designed for inclusion within another composite - contains 1 component that implements 1 service and 1 reference |
TestComposite37.composite |
Y |
Composite designed for inclusion within another composite - contains 2 components, #1 has 1 service and 1 reference, #2 has 1 service |
TestComposite38.composite |
Y |
Has @local=true, containing 2 components, #1 has 1 service and 1 reference, #2 has 1 service - reference of #1 is wired to service of #2 |
TestComposite39.composite |
N |
1 service, 1 reference where the reference has an intent that is mutually exclusive with an intent on the component reference which it promotes Contribution: ASM_6031 |
TestComposite40.composite |
N |
1 service, 1 reference where the reference has @requires containing 2 mutually exclusive intents Contribution: ASM_6032 |
TestComposite41.composite |
N |
1 service, 1 reference, where the reference multiplicity is 0..1 but the component reference which it promotes has multiplicity 1..1 Contribution: ASM_6033 |
TestComposite42.composite |
Y |
1 service, composite has @constrainingType set to a constrainingType to which the composite does conform |
TestComposite43.composite |
Y |
1 service, 1 reference, 2 properties. 1 property declares its type using the @type attribute (complex type sca:Callback) |
TestComposite44.composite |
Y |
1 service, 1 reference, 2 properties. 1 property declares its type using the @element attribute (complex type sca:callback) |
TestComposite45.composite |
N |
1 service, 1 reference, 2 properties. 1 property declares its type using both an @element attribute and a @type attribute (complex type sca:Callback) Contribution: ASM_4007 |
TestComposite46.composite |
Y |
1 service, 1 reference, 2 properties. 1 property declares @mustSupply=true |
|
|
|
TestComposite48.composite |
Y |
2 services |
TestComposite49.composite |
Y |
1 services 2 references, 1 of (0..1), 1 of (0..n) |
TestComposite50.composite |
Y |
1 service, 2 properties with @mustSupply="false" |
TestComposite52.composite "Impl Specific" |
Y |
1 service with Service4 interface service4Impl |
TestComposite53.composite "Impl Specific" |
Y |
1 service 1 reference with Service4 interface contains a component which checks whether an input parameter is modified during invocation of an operation on the Service4 interface service1Impl7 |
TestComposite54.composite "Impl Specific" |
Y |
1 service 1 reference with a callback - Service5 & Service5Callback service1Callback5Impl |
TestComposite55.composite "Impl Specific" |
Y |
1 service with callback - Service5 & Service5Callback service5Impl |
TestComposite60.composite "Impl Specific" |
Y |
(ASM_8006) 1 service 1 reference with callback - Service9 & Service9Callback service1Callback9Impl |
TestComposite61.composite "Impl Specific" |
Y |
(ASM_8006) 1 service with callback - Service9 & Service9Callback service9Impl |
TestComposite62.composite |
N |
(ASM_8003) 1 service, 1 reference with
callback Contribution: ASM_8011 |
TestComposite63.composite |
N |
(ASM_8003) 1 service with callback - where the callback interface is not compatible with the callback interface on the promoted component service - Service5 & Service8Callback Contribution: ASM_8010 |
TestComposite64.composite |
N |
(ASM_8012) 1 service 1 reference (0..1) with callback - Service1 & Service5Callback - where the promoted component reference has no callback declared Contribution: ASM_8012 |
TestComposite65.composite "Impl Specific" |
Y |
(ASM_8003) 1 service with a callback - Service5 & Service5Callback - where the implementing component invokes the callback operation multiple times for a single invocation of the forward interface service5Impl2 |
TestComposite66.composite "Impl Specific" |
Y |
1 service, remotable, service has Confidentiality applied 0 references service1Impl |
TestComposite67.composite |
Y |
* copy of TestComposite5 but in namespace http://oasis/tests2 |
TestComposite68. |
Y |
Wrapper of TestComposite5 but in namespace http://oasis/tests2 |
TestComposite69.composite |
Y |
1 service * wrapper of TestComposite1 in namespace http://oasis/tests2 |
TestComposite70.composite "Impl Specific" |
Y |
1 service, 1 reference (1..1) - interface Service1Superset service1Impl8 |
TestComposite71.composite "Impl Specific" |
Y |
1 service 0 references 2 properties of type string service1Impl5 |
TestComposite72.composite |
N |
1 service 1 service with callback - Service1 & Service5Callback - where the promoted component service has no callback declared 0 references Contribution: ASM_8017 |
TestComposite73.composite "Impl Specific" |
Y |
1 service 0 references 1 property of type float |
TestComposite74.composite |
N |
1 service 1 reference "Reference1" - reference promotes a component reference with multiplicity 1..1 and @nonOverridable="true" Contribution ASM_5040 |
TestComposite75.composite |
Y |
3 services all with interface = Service1 0 references 0 properties Contribution: General |
TestComposite76.composite |
Y |
1 service 0 references 1 property multi-valued of complex type typed with @type uses TestComposite71 |
Name |
Description |
test.Service1.java |
1 operation with 1 input, 1 output parameter |
test.Service2.java |
Remotable service interface that is not compatible with Service1 interface |
test.Service1Superset.java |
Remotable service interface which is a superset of Service1 interface 2 operations with 1 input,1 output parameter |
test.Service4.java |
Remotable service interface 1 operation with 1 input, 1 output parameter - input parameter is a Java mutable type = List of Strings |
test.Service5.java |
Remotable service interface with a Callback interface (Service5Callback) 1 operation with 1 input, 1 output parameter |
test.Service5Callback.java |
Remotable callback interface for Service5, 1 operation with 1 input, 1 output parameter |
test.Service1_Intent |
Service1 interface + Confidentiality intent 1 operation with 1 input, 1 output parameter |
test.Service8Callback |
Remotable callback interface incompatible with Service5Callback interface |
Name |
Description |
|
Services and references use interface Service1 unless otherwise described |
test.Service1Impl.java |
1 service 0 references |
test..Service1Impl2.java |
1 service 1 reference (1..1) |
test.Service1Impl3.java |
1 service 1 reference (1..n) |
test.Service1Impl4.java |
1 service 1 reference (0..n) |
test.Service1Impl5.java |
1 service 0 references 3 properties |
test.Service1Impl6.java |
1 service 1 reference (0..1) |
test.Service1impl7.java |
1 service 1 reference (1..1) with interface Service4 - operation1 method calls reference operation and checks for modification of the input parameter |
test.Service1Impl8.java |
1 service 1 reference (1..1) - interface Service1Superset |
test.Service1Impl9 |
1 service 0 references 1 property of type float |
test.Service2Impl.java |
1 service with interface Service2 |
test.Service1SupersetImpl.java |
1 service with interface Service1Superset |
test.Service4impl.java |
1 service with interface Service4 - service operation modifies input parameter |
TestException.java |
Exception returned if test application receives an exception during execution |
TestInvocation.java |
Client testcase invocation interface |
|
|
ASM_0001_Client.java |
Client invocation component 1 service 0 references |
ASM_0002_Client.java |
"Standard" client invocation component 1 service 1 reference (0..1) |
ASM_0003_Client.java |
Client invocation component 1 service 1 reference (1..n) |
Name |
Description |
Service1.wsdl |
portType = Service1 1 operation with 1 input, 1 output parameter |
Service1Superset.wsdl |
portType = Service1Superset - superset of Service1 2 operations - 1 input, 1 output parameter |
Service1_Intent.wsdl |
portType = Service1_Intent equivalent to Service1, but with @requires="sca:confidentiality" applied to the portType element 1 operation with 1 input, 1 output parameter |
Service1a.wsdl |
Version of Service1.wsdl containing no XML type declarations, but instead containing a @schemaLocation attribute, but one which points to an valid XSD file |
Service1b.wsdl |
Version of Service1.wsdl containing no XML type declarations, but instead containing a @schemaLocation attribute, but one which points to an invalid file |
Service2.wsdl |
1 service - incompatible with Service1 1 operation with 1 input, 1 output parameter |
Service4.wsdl |
portType = Service4 1 operation with 1 input, 1 output parameter - input parameter is list of Strings |
Service5.wsdl |
Remotable service interface with a single operation with 1 input and 1 output parameter and a Callback interface |
Service9.wsdl |
Remotable service interface, with @callback attribute applied to the portType element 1 operation with 1 input and 1 output parameter |
Service5Callback.wsdl |
Remotable callback interface for Service5, with a single operation with 1 input and 1 output parameter |
Service8Callback.wsdl |
Callback interface which is not compatible with other Callback interfaces (uses a different operation name) 1 operation with 1 input and 1 output parameter |
Service9Callback.wsdl |
Callback interface for Service9 1 operation with 1 input and 1 output parameter |
The artifacts contained in the sca-assembly-1.1-testcases.zip file are considered to be authoritative and take precedence over the artifacts described in this document.
An implementation that claims to conform to this specification MUST be able to run all test cases in Section 2 TestCases, producing the 'Expected Output'.
This document defines the Test Assertions for the SCA Assembly Specification Version 1.1.following the format defined in the OASIS Test Assertion Guidelines specification [TA-GUIDE].
Test assertions are presented in a tabular format with rows corresponding to the entry types defined in [TA-GUIDE].
Assertion ID |
ASM-TA-xxxx |
Source |
[ASMx00yy] |
Target |
<kitchenSink/> element of composite file |
Prerequisites |
The <kitchenSink/> element has a @drain attribute |
Predicate |
The @drain attribute value of the <kitchenSink/> element is a URI that identifies a portal into the drainage system of the Domain. |
Prescription Level |
Mandatory |
Tags |
kitchenSink drain Domain |
Assertion ID: Is a unique ID for the test assertion. Its format starts with a 3 letter string that identifies the specification to which it relates - "ASM" is for the SCA Assembly specification. This is followed by "-TA-" to indicate that this identifier is for a test assertion. This is then followed by a unique 4 digit number.
Source: Is the identifier(s) of the normative statement(s) in the specification to which this assertion relates.
Target: Identifies the target which is addressed by this assertion. This is typically some SCA document element, or other SCA artifact but possibly could identify an SCA runtime and its behaviour.
Prerequisites: Defines any prerquisites for this test assertion. The prerequisites may be defined in terms of one or more other test assertions that must be true.
Predicate: The meat of the assertion - something that should evaluate to true or false for the given target.
Prescription Level: Mandatory (for MUST requirements) or Preferred (for SHOULD requirements) or Permitted (for MAY requirements).
Tags: Zero or more labels that may be attached to this test assertion - these tags can be used to group sets of assertions.
Assertion ID |
ASM-TA-4002 |
Source |
[ASM40003] |
Target |
<service/> element of a <componentType/> element |
Prerequisites |
The <componentType/> element has >1 <service/> elements |
Predicate |
The @name attribute of the <service/> element is not equal to the @name attribute of any other <service/> element of the <componentType/> |
Prescription Level |
Mandatory |
Tags |
“componentType” “service” “name” |
Assertion ID |
ASM-TA-4003 |
Source |
[ASM40004] |
Target |
<reference/> element of a <componentType/> element |
Prerequisites |
The <componentType/> element has >1 <reference/> elements |
Predicate |
The @name attribute of the <reference/> element is not equal to the @name attribute of any other <reference/> element of the <componentType/> |
Prescription Level |
Mandatory |
Tags |
“componentType” “reference” “name” |
Assertion ID |
ASM-TA-4004 |
Source |
[ASM40005] |
Target |
<property/> element of a <componentType/> element |
Prerequisites |
The <componentType/> element has >1 <property/> elements |
Predicate |
The @name attribute of the <property/> element is not equal to the @name attribute of any other <property/> element of the <componentType/> |
Prescription Level |
Mandatory |
Tags |
“componentType” “property” “name” |
Assertion ID |
ASM-TA-4005 |
Source |
[ASM40006] |
Target |
<reference/> element of a <component/> where the <reference/> has the @target attribute set to valid target <component/> <service/> |
Prerequisites |
<reference/> element of the <componentType/> of the <implementation/> used by the <component/> has @wiredByImpl set to “true” |
Predicate |
<reference/> @target is ignored and the reference is not wired to the identified <component/> <service/> |
Prescription Level |
Mandatory |
Tags |
“componentType” “reference” “wiredByImpl” |
Assertion ID |
ASM-TA-4006 |
Source |
[ASM40007] |
Target |
@type attribute of a <property/> element of a <componentType/> element |
Prerequisites |
|
Predicate |
@type attribute value of the <property/> element is the QName of an XML schema type |
Prescription Level |
Mandatory |
Tags |
“componentType” “property” “type” |
Assertion ID |
ASM-TA-4007 |
Source |
[ASM40008] |
Target |
@element attribute of a <property/> element of a <componentType/> element |
Prerequisites |
|
Predicate |
@element attribute value of the <property/> element is the QName of an XSD global element. |
Prescription Level |
Mandatory |
Tags |
“componentType” “property” “element” |
Assertion ID |
ASM-TA-4008 |
Source |
[ASM40009] |
Target |
Implementation property value of an <implementation/> of a <component/> |
Prerequisites |
a) The <property/> element of the <componentType/> element of the implementation has a default value for the property b) <component/> has a corresponding <property/> element that sets a value for the property |
Predicate |
The runtime value of the implementation property is the value declared by the <component/> <property/> element |
Prescription Level |
Mandatory |
Tags |
“component type” “property” “default” |
Assertion ID |
ASM-TA-4009 |
Source |
[ASM40010] |
Target |
<property/> element of <componentType/> |
Prerequisites |
a) The <property/> element has a @type attribute declared |
Predicate |
<property/> element does not have an @element attribute declared |
Prescription Level |
Mandatory |
Tags |
“component type” “property” “type” “element” |
Assertion ID |
ASM-TA-4010 |
Source |
[ASM40010] |
Target |
<property/> element of <componentType/> |
Prerequisites |
a) The <property/> element has a @element attribute declared |
Predicate |
<property/> element does not have an @type attribute declared |
Prescription Level |
Mandatory |
Tags |
“component type” “property” “type” “element” |
Assertion ID |
ASM-TA-4011 |
Source |
[ASM40011] |
Target |
<property/> element of a <component/> |
Prerequisites |
a) <component/> has an <implementation/> which has a componentType with a <property/> element, corresponding to the <component/> <property/> element, which has @mustSupply=”true” |
Predicate |
<property/> element declares a property value which sets the property value of the implementation |
Prescription Level |
Mandatory |
Tags |
“component type” “property” "mustSupply” “value” |
Assertion ID |
ASM-TA-4012 |
Source |
[ASM40012] |
Target |
@file attribute of a <property/> element of a <componentType/> |
Prerequisites |
|
Predicate |
@file attribute contains a dereferenceable URI to a file which contains the value for the property |
Prescription Level |
Mandatory |
Tags |
“component type” “property” "file” “dereferenceable URI” |
Assertion ID |
ASM-TA-5001 |
Source |
[ASM50002] |
Target |
<service/> element of a <component/> element |
Prerequisites |
The <component/> element has >1 <service/> elements |
Predicate |
The @name attribute of [the <service/> element] not equal to the @name attribute of any other <service/> element of the <component/> |
Prescription Level |
Mandatory |
Tags |
"component services" |
Assertion ID |
ASM-TA-5002 |
Source |
[ASM50003] |
Target |
<service/> element of a <component/> element |
Prerequisites |
The <component/> element has an <implementation/> child element |
Predicate |
The @name attribute of [the <service/> element] is equal to the @name attribute of one <service/> element of the <componentType/> of the <implementation/> subelement of the <component/> |
Prescription Level |
Mandatory |
Tags |
"component services" |
Assertion ID |
ASM-TA-5003 |
Source |
[ASM50007] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
The <component/> element has >1 <reference/> elements |
Predicate |
The @name attribute of [the <reference/> element] not equal to the @name attribute of any other <reference/> element of the <component/> |
Prescription Level |
Mandatory |
Tags |
"component references" |
Assertion ID |
ASM-TA-5004 |
Source |
[ASM50008] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
The <component/> element has an <implementation/> child element |
Predicate |
The @name attribute of [the <reference/> element] is equal to the @name attribute of one <reference/> element of the <componentType/> of the <implementation/> subelement of the <component/> |
Prescription Level |
Mandatory |
Tags |
"component references" |
Assertion ID |
ASM-TA-5005 |
Source |
[ASM50001] |
Target |
<component/> element in a <composite/> element |
Prerequisites |
The <composite/> element has >1 <component/> elements |
Predicate |
The @name attribute of [the <component/> element] not equal to the @name attribute of any other <component/> element in the <composite/> |
Prescription Level |
Mandatory |
Tags |
"component names" |
Assertion ID |
ASM-TA-5006 |
Source |
[ASM50004] |
Target |
<service/> element of a <component/> element |
Prerequisites |
The <service/> element has an <interface/> child element |
Predicate |
The interface specified by the <interface/> child element of [the <service/> element] is a compatible subset of the interface declared for the <service/> with the same @name attribute in the <componentType/> of the <implementation/> child of the <component/> |
Prescription Level |
Mandatory |
Tags |
"compatible interfaces" |
Assertion ID |
ASM-TA-5007 |
Source |
[ASM50005] |
Target |
<service/> element of a <component/> element |
Prerequisites |
The <service/> element has no <binding/> elements AND <service/> element (with same @name attribute value) of the <componentType/> of the <implementation/> element of the <component/> has 1 or more <binding/> elements |
Predicate |
The <service/> is made available using all the bindings declared on the <componentType/> <service/> element |
Prescription Level |
Mandatory |
Tags |
"service bindings" |
Assertion ID |
ASM-TA-5008 |
Source |
[ASM50005] |
Target |
<service/> element of a <component/> element |
Prerequisites |
The <service/> element has no <binding/> elements AND <service/> element (with same @name attribute value) of the <componentType/> of the <implementation/> element of the <component/> has no <binding/> elements |
Predicate |
The <service/> is made available using binding.sca |
Prescription Level |
Mandatory |
Tags |
"service bindings” |
Assertion ID |
ASM-TA-5009 |
Source |
[ASM50005] |
Target |
<service/> element of a <component/> element |
Prerequisites |
The <service/> element has 1 or more <binding/> elements |
Predicate |
The <service/> is made available using all of the bindings declared on its <binding/> elements |
Prescription Level |
Mandatory |
Tags |
"service bindings" |
Assertion ID |
ASM-TA-5010 |
Source |
[ASM50009] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
<reference/> element (with same @name attribute value) of the <componentType/> of the <implementation/> has multiplicity 1..n |
Predicate |
<reference/> element @multiplicity attribute is 1..n or 1..1 |
Prescription Level |
Mandatory |
Tags |
"component references" “reference multiplicity” |
Assertion ID |
ASM-TA-5011 |
Source |
[ASM50009] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
<reference/> element (with same @name attribute value) of the <componentType/> of the <implementation/> has multiplicity 0..n |
Predicate |
<reference/> element @multiplicity attribute is 0..n or 1..n or 0..1 or 1..1 |
Prescription Level |
Mandatory |
Tags |
"component references" “reference multiplicity” |
Assertion ID |
ASM-TA-5012 |
Source |
[ASM50009] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
<reference/> element (with same @name attribute value) of the <componentType/> of the <implementation/> has multiplicity 1..1 |
Predicate |
<reference/> element @multiplicity attribute is 1..1 |
Prescription Level |
Mandatory |
Tags |
"component references" “reference multiplicity” |
Assertion ID |
ASM-TA-5013 |
Source |
[ASM50009] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
<reference/> element (with same @name attribute value) of the <componentType/> of the <implementation/> has multiplicity 0..1 |
Predicate |
<reference/> element @multiplicity attribute is 0..1 or 1..1 |
Prescription Level |
Mandatory |
Tags |
"component references" “reference multiplicity” |
Assertion ID |
ASM-TA-5014 |
Source |
[ASM50010] [ASM50013] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
<reference/> element has @wiredByImpl=”true” |
Predicate |
<reference/> element has no @target attribute set |
Prescription Level |
Mandatory |
Tags |
"component references" “wiredByImpl” |
Assertion ID |
ASM-TA-5015 |
Source |
[ASM50010] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
<reference/> element has @wiredByImpl=”true” |
Predicate |
<reference/> element has no <binding/> child elements |
Prescription Level |
Mandatory |
Tags |
"component references" “wiredByImpl” |
Assertion ID |
ASM-TA-5016 |
Source |
[ASM50011] |
Target |
<interface/> element of a <reference/> element of a <component/> element |
Prerequisites |
|
Predicate |
The interface declared by the <interface/> element of <reference/> element is a compatible superset of interface declared by the <interface/> child element of <reference/> element (with same @name attribute value) of the <componentType/> of the <implementation/> child element of the <component/> element |
Prescription Level |
Mandatory |
Tags |
"component references" “interface compatibility” |
Assertion ID |
ASM-TA-5017 |
Source |
[ASM50012] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
a) <reference/> has no <binding/> child elements b) <reference/> (with the same @name attribute) of the <componentType/> of the <implementation/> element of the <component/> has a <binding/> child element |
Predicate |
Binding declared by the <reference/> element (with the same @name attribute) of the <componentType/> is used for the reference |
Prescription Level |
Mandatory |
Tags |
"component references" “reference bindings” |
Assertion ID |
ASM-TA-5018 |
Source |
[ASM50012] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
a) <reference/> has one <binding/> child element which identifies a target service b) <reference/> (with the same @name attribute) of the <componentType/> of the <implementation/> element of the <component/> has a <binding/> child element |
Predicate |
Binding (and target service) identified by the <binding/> element of the <reference/> is used to wire the reference. |
Prescription Level |
Mandatory |
Tags |
"component references" “reference bindings” |
Assertion ID |
ASM-TA-5019 |
Source |
[ASM50013] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
<reference/> element has @wiredByImpl=”true” |
Predicate |
<reference/> element has no <binding/> child elements |
Prescription Level |
Mandatory |
Tags |
"component references" “wiredByImpl” |
Assertion ID |
ASM-TA-5020 |
Source |
[ASM50013] |
Target |
|
Prerequisites |
<reference/> element has @wiredByImpl=”true” |
Predicate |
No <wire/> elements have the <reference/> element declared as the @source for the wire |
Prescription Level |
Mandatory |
Tags |
"component references" “wiredByImpl” |
Assertion ID |
ASM-TA-5021 |
Source |
[ASM50014] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
a) <reference/> element has @autowire=”true” b) There are multiple valid target services for the reference which satisfy the autowire process. c) <reference/> element has @target identifying a single target service |
Predicate |
The <reference/> element is wired only to the single target service identified by the @target attribute |
Prescription Level |
Mandatory |
Tags |
"component references" “autowire” |
Assertion ID |
ASM-TA-5022 |
Source |
[ASM50014] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
a) <reference/> element has @autowire=”true” b) There are multiple valid target services for the reference which satisfy the autowire process. c) There is a <wire/> element which has the <reference/> element declared in its @source attribute |
Predicate |
The <reference/> element is wired only to the single target service identified by the <wire/> element |
Prescription Level |
Mandatory |
Tags |
"component references" “autowire” |
Assertion ID |
ASM-TA-5023 |
Source |
[ASM50014] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
a) <reference/> element has @autowire=”true” b) There are multiple valid target services for the reference which satisfy the autowire process. c) <reference/> element has a <binding/> child element which declares a single target service |
Predicate |
The <reference/> element is wired only to the single target service identified by the <binding/> element |
Prescription Level |
Mandatory |
Tags |
"component references" “autowire” |
Assertion ID |
ASM-TA-5024 |
Source |
[ASM50015] |
Target |
<binding/> element of a <reference/> element of a <component/> element |
Prerequisites |
<binding/> element has its @uri attribute specifying a target service |
Predicate |
The <reference/> is wired to the target service specified by the @uri attribute |
Prescription Level |
Mandatory |
Tags |
"component references" “uri” |
Assertion ID |
ASM-TA-5025 |
Source |
[ASM50040] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
a) @multiplicity is 1..1 b) @target attribute contains a single target service which is a service on a second component in the same <composite/> as the first components c) target service is compatible with the source reference |
Predicate |
The wire from the <reference/> to the target service is valid and the client component can invoke operations on the target service |
Prescription Level |
Mandatory |
Tags |
"component references" “valid wire” |
Assertion ID |
ASM-TA-5026 |
Source |
[ASM50041] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
a) @multiplicity is 1..n b) multiple target services exist in the <composite/> containing the <component/> which are compatible with the reference c) @target attribute contains 2 or more compatible target services |
Predicate |
The <reference/> is wired to all of the target services identified by its @target attribute and can invoke operations on each target service. |
Prescription Level |
Mandatory |
Tags |
"component references" “valid wire” |
Assertion ID |
ASM-TA-5027 |
Source |
[ASM50040] [ASM50022] |
Target |
<reference/> element of a <component/> element |
Prerequisites |
a) @multiplicity is 1..1 b) multiple target services exist in the <composite/> containing the <component/> which are compatible with the <reference/> c) @target attribute contains 2 or more compatible target services |
Predicate |
The wires from the <reference/> to the target service are invalid and the client component cannot run |
Prescription Level |
Mandatory |
Tags |
"component references" “valid wire” |
Assertion ID |
ASM-TA-5028 |
Source |
[ASM50039] |
Target |
<reference/> element with @multiplicity=0..1 of a <component/> element |
Prerequisites |
<reference/> element is not wired, either by the @target attribute of the <reference/> or by any <binding/> child elements of the <reference/> |
Predicate |
The configuration of the <component/> is valid and the component executes |
Prescription Level |
Mandatory |
Tags |
"component references" “valid wire” |
Assertion ID |
ASM-TA-5029 |
Source |
[ASM50025] |
Target |
<reference/> element with @multiplicity=1..1 of a <component/> element within a <composite/> |
Prerequisites |
a) <reference/> element is wired to a compatible service of a second component within the same composite b) a <reference/> element of the <composite/> promotes the <reference/> element of the component c) the <composite/> is used as the implementation of a high level component and the composite <reference/> is wired to a valid target |
Predicate |
The wires from the <reference/> to the target service are invalid and the client component cannot run |
Prescription Level |
Mandatory |
Tags |
"component references" “valid wire” |
Assertion ID |
ASM-TA-5030 |
Source |
[ASM50026] |
Target |
<reference/> element with @target attribute set to one or more target services, of a <component/> element within a <composite/> |
Prerequisites |
|
Predicate |
<reference/> element has no <binding/> child elements |
Prescription Level |
Mandatory |
Tags |
"component” “reference” “target” “binding” |
Assertion ID |
ASM-TA-5031 |
Source |
[ASM50027] |
Target |
<property/> element of a <component/> element within a <composite/>, with an @value attribute declared |
Prerequisites |
type of the <property/> element is an XML Schema simple type |
Predicate |
@value attribute of the <property/> element contains a single value with a type matching that of the <property/> element |
Prescription Level |
Mandatory |
Tags |
"component” “property” “value” |
Assertion ID |
ASM-TA-5032 |
Source |
[ASM50028] |
Target |
<value/> child element of a <property/> element of a <component/> element within a <composite/> |
Prerequisites |
Type of the <property/> element is an XML Schema simple type or an XML Schema complex type |
Predicate |
The type of the <value/> element is the same as the type declared for the parent <property/> element |
Prescription Level |
Mandatory |
Tags |
"component” “property” “type” |
Assertion ID |
ASM-TA-5033 |
Source |
[ASM50029] |
Target |
child element of a <property/> element of a <component/> element within a <composite/> |
Prerequisites |
Child element is not an <sca:value/> element |
Predicate |
The type of the <property/> element is an XML Schema global element and the child element is an instance of that global element |
Prescription Level |
Mandatory |
Tags |
"component” “property” “value” “type” |
Assertion ID |
ASM-TA-5034 |
Source |
[ASM50031] |
Target |
<property/> element of a <component/> element within a <composite/> |
Prerequisites |
<component/> element contains 1 or more additional <property/> elements |
Predicate |
The @name attribute of the <property/> element is not the same as the @name attribute of any of the other <property/> child elements of the same <component/> |
Prescription Level |
Mandatory |
Tags |
"component” “property” “name” |
Assertion ID |
ASM-TA-5036 |
Source |
[ASM50032] |
Target |
<property/> element of a <component/> element within a <composite/>, with values specified by <value/> child elements |
Prerequisites |
<property/> element with @many=false, or where componentType of the implementation has the matching <property/> with @many=false |
Predicate |
<property/> has a single <value/> child element |
Prescription Level |
Mandatory |
Tags |
"component” “property” “value” “many” |
Assertion ID |
ASM-TA-5037 |
Source |
[ASM50033] |
Target |
<property/> element of a <component/> element within a <composite/>, with a value specified by a @value attribute |
Prerequisites |
|
Predicate |
<property/> has no <value/> child elements |
Prescription Level |
Mandatory |
Tags |
"component” “property” “value” |
Assertion ID |
ASM-TA-5038 |
Source |
[ASM50034] |
Target |
<reference/> element of a <component/> element within a <composite/> |
Prerequisites |
a) <composite/> contains at least 2 distinct valid target services for the <reference/> b) <composite/> contains a <wire/> element with @source set to the <reference/> of the <component/> and @target set to one valid target service for the <reference/> (“serviceA”) c) <wire/> element has @replace=true d) <reference/> has @target attribute containing a single entry declaring a different target service (“serviceB”) |
Predicate |
<reference/> is wired to serviceA and is not wired to serviceB |
Prescription Level |
Mandatory |
Tags |
"component””reference” “wire” “replace” “target” |
Assertion ID |
ASM-TA-5039 |
Source |
[ASM50035] |
Target |
<property/> element of <component/> |
Prerequisites |
a) The <property/> element has a @type attribute declared |
Predicate |
<property/> element does not have an @element attribute declared |
Prescription Level |
Mandatory |
Tags |
“component” “property” “type” “element” |
Assertion ID |
ASM-TA-5040 |
Source |
[ASM50035] |
Target |
<property/> element of <component/> |
Prerequisites |
a) The <property/> element has a @element attribute declared |
Predicate |
<property/> element does not have an @type attribute declared |
Prescription Level |
Mandatory |
Tags |
“component” “property” “type” “element” |
Assertion ID |
ASM-TA-5041 |
Source |
[ASM50036] [ASM50038] |
Target |
<property/> element of <component/> |
Prerequisites |
<property/> element declares a type |
Predicate |
The type declared for the <property/> element is the same as the type declared for the corresponding <property/> in the <componentType/> of the <implementation/> |
Prescription Level |
Mandatory |
Tags |
"component” “property” “type” “component type” |
Assertion ID |
ASM-TA-5042 |
Source |
[ASM50037] |
Target |
@name attribute of a <property/> element of <component/> |
Prerequisites |
<component/> has an <implementation/> |
Predicate |
@name attribute matches the @name attribute of one of the <property/> elements of the <componentType/> of the <implementation/> |
Prescription Level |
Mandatory |
Tags |
"component” “property” “name” “componentType” |
Assertion ID |
ASM-TA-5043 |
Source |
[ASM50006] |
Target |
<callback/> subelement of a <service/> subelement of a <component/> |
Prerequisites |
<callback/> element has set of one or more <binding/> subelements |
Predicate |
For a given callback target, one of the set of <binding/> subelements is used for the callback operations. |
Prescription Level |
Mandatory |
Tags |
"component” “service” “callback” “binding” |
Assertion ID |
ASM-TA-5045 |
Source |
[ASM50038] |
Target |
<property/> element of a <component/> |
Prerequisites |
a) property element declares a type b) property element has a @source attribute which gets the value for the property from a <composite/> <property/> element c) @source attribute value does not involve a subelement of the composite property |
Predicate |
The type of the <property/> element is compatible with the type of the composite property element |
Prescription Level |
Mandatory |
Tags |
"component” “property” “type” “source” "compatible" |
Assertion ID |
ASM-TA-5046 |
Source |
[ASM50038] |
Target |
<property/> element of a composite used as an implementation by a component |
Prerequisites |
a) property element declares a type b) component using the composite as an implementation has a <property/> element which also declares a type |
Predicate |
The type of the composite <property/> element is compatible with the type of the component property element |
Prescription Level |
Mandatory |
Tags |
"composite” “implementation” “property” “type” "compatible" |
Assertion ID |
ASM-TA-5047 |
Source |
[ASM50042] |
Target |
<reference/> of a component |
Prerequisites |
a) multiplicity either 0..1 or 1..1 b) reference/@nonOverridable="true" |
Predicate |
<reference/> is not promoted by a composite reference |
Prescription Level |
Mandatory |
Tags |
"component” “reference” “nonOverridable” “promote” |
Assertion ID |
ASM-TA-5048 |
Source |
[ASM50043] |
Target |
<reference/> of a component |
Prerequisites |
a) reference does not declare @autowire attribute b) component containing the reference declares an @autowire="true" attribute c) reference is not wired by its @target attribute, is not wired by a binding element and is not promoted by any composite reference d) composite containing the component contains one target service compatible with the reference |
Predicate |
<reference/> is wired to the target service and can invoke the service |
Prescription Level |
Mandatory |
Tags |
"component” “reference” “autowire” “inherit” |
Assertion ID |
ASM-TA-5049 |
Source |
[ASM50043] |
Target |
<reference/> of a component |
Prerequisites |
a) reference does not declare @autowire attribute b) component containing the reference does not declare an @autowire attribute c) composite containing the component does declare an @autowire="true" attribute d) reference is not wired by its @target attribute, is not wired by a binding element and is not promoted by any composite reference e) composite containing the component contains one target service compatible with the reference |
Predicate |
<reference/> is wired to the target service and can invoke the service |
Prescription Level |
Mandatory |
Tags |
"component” “reference” “autowire” “inherit” "composite" |
Assertion ID |
ASM-TA-5050 |
Source |
[ASM50044] |
Target |
<property/> element of a component |
Prerequisites |
a) property has @many="true" b) property has multiple values set |
Predicate |
<property/> element contains all the multiple values set for that property |
Prescription Level |
Mandatory |
Tags |
"component” “property” “many” “multiple” "values" |
Assertion ID |
ASM-TA-5051 |
Source |
[ASM50045] |
Target |
@file attribute of a <property/> element of a <component/> |
Prerequisites |
|
Predicate |
@file attribute contains a dereferenceable URI to a file which contains the value for the property |
Prescription Level |
Mandatory |
Tags |
"component” “property” “file” “dereferenceable URI" |
Assertion ID |
ASM-TA-5052 |
Source |
[ASM50046] |
Target |
file which is referenced by the @file attribute of a component <property/> element |
Prerequisites |
property has a type that is a simple XML type property is single valued |
Predicate |
file contains an <sca:values/> element with one <sca:value/> subelement containing a string with the value for the property |
Prescription Level |
Mandatory |
Tags |
"component” “property” “file” “value” "values" "simple" |
Assertion ID |
ASM-TA-5053 |
Source |
[ASM50046] |
Target |
file which is referenced by the @file attribute of a component <property/> element |
Prerequisites |
property has a type that is a complex XML type property is multi valued |
Predicate |
file contains an <sca:values/> element with one or more <sca:value/> subelements OR one or more global elements where the type of the <value/> elements OR the global elements matches the type of the <property/> element |
Prescription Level |
Mandatory |
Tags |
"component” “property” “file” “value” "values" "complex" |
Assertion ID |
ASM-TA-6001 |
Source |
"Compatible Interfaces" section of specification |
Target |
2 interfaces defined by <interface.xxx/> elements (in any location in SCDL files) – called InterfaceA and InterfaceB |
Prerequisites |
|
Predicate |
InterfaceA is compatible with InterfaceB |
Prescription Level |
Mandatory |
Tags |
"interface" “compatible” |
Assertion ID |
ASM-TA-6002 |
Source |
"Compatible Superset" section of specification |
Target |
2 interfaces defined by <interface.xxx/> elements (in any location in SCDL files) – called InterfaceA and InterfaceB |
Prerequisites |
1) (InterfaceA is remotable AND InterfaceB is remotable) OR (InterfaceA is local AND InterfaceB is local) 2) All of the operations in Interface A are present in InterfaceB 3) Each operation in InterfaceA has the same parameter types, same parameter order, same return value type and same set of fault/exception types as the operation with the same name in InterfaceB 4)Other specified SCA attributes of InterfaceA match the specified SCA attributes of InterfaceB |
Predicate |
InterfaceB is compatible superset of InterfaceA |
Prescription Level |
Mandatory |
Tags |
"interface" “compatible” |
Assertion ID |
ASM-TA-6003 |
Source |
"Compatible Subset" section of specification |
Target |
2 interfaces defined by <interface.xxx/> elements (in any location in SCDL files) – called InterfaceA and InterfaceB |
Prerequisites |
1) (InterfaceA is remotable AND InterfaceB is remotable) OR (InterfaceA is local AND InterfaceB is local) 2) All of the operations in InterfaceB are present in InterfaceA 3) Each operation in InterfaceB has the same parameter types, same parameter order, same return value type and same set of fault/exception types as the operation with the same name in InterfaceA 4) Other specified SCA attributes of InterfaceA match the specified SCA attributes of InterfaceB
|
Predicate |
InterfaceB is compatible subset of InterfaceA |
Prescription Level |
Mandatory |
Tags |
"interface" “compatible” |
Assertion ID |
ASM-TA-6004 |
Source |
[ASM60001] |
Target |
@name attribute of a <composite/> element |
Prerequisites |
Multiple <composite/> elements exist in the same namespace |
Predicate |
@name attribute is not the same as the @name attribute of any other <composite/> element in the same namespace |
Prescription Level |
Mandatory |
Tags |
“composite” “name” |
Assertion ID |
ASM-TA-6005 |
Source |
[ASM60002] |
Target |
<component/> child elements of a <composite/> element with @local=”true” |
Prerequisites |
<composite/> element has multiple <component/> child elements that can run in separate operating system processes |
Predicate |
All the components run in the same operating system process |
Prescription Level |
Mandatory |
Tags |
“composite” “component” “local” |
Assertion ID |
ASM-TA-6006 |
Source |
[ASM60003] |
Target |
@name attribute of a <service/> element of a <composite/> element |
Prerequisites |
<composite/> has multiple <service/> child elements |
Predicate |
@name attribute of <service/> element is unique across all the <service/> child elements of the <composite/> |
Prescription Level |
Mandatory |
Tags |
“composite” “service” “name” |
Assertion ID |
ASM-TA-6007 |
Source |
[ASM60004] |
Target |
@promote attribute of <service/> element of a <composite/> element |
Prerequisites |
<composite/> contains a child <component/> offering a <service/> |
Predicate |
@promote attribute has a value which identifies a service of one of the <component/> elements in the <composite/> |
Prescription Level |
Mandatory |
Tags |
“composite” “service” “promote” |
Assertion ID |
ASM-TA-6008 |
Source |
[ASM60005] |
Target |
<interface/> child element of a <service/> element of a <composite/> |
Prerequisites |
<service/> element promotes a service of a <component/> in the <composite/> |
Predicate |
<interface/> declares an interface which is a compatible subset of the interface declared by the promoted <component/> <service/>, as defined in ASM-TA-6003 |
Prescription Level |
Mandatory |
Tags |
“composite” “service” “promote””interface” |
Assertion ID |
ASM-TA-6009 |
Source |
[ASM60006] |
Target |
@name attribute of a <reference/> element of a <composite/> element |
Prerequisites |
<composite/> has multiple <reference/> child elements |
Predicate |
@name attribute of <reference/> element is unique across all the <reference/> child elements of the <composite/> |
Prescription Level |
Mandatory |
Tags |
“composite” “reference” “name” |
Assertion ID |
ASM-TA-6010 |
Source |
[ASM60007] |
Target |
@promote attribute of <reference/> element of a <composite/> element |
Prerequisites |
<composite/> contains one or more child <component/> elements with a <reference/> |
Predicate |
@promote attribute has a value which contains one or more URIs each of which identifies a reference of one of the <component/> elements in the <composite/> |
Prescription Level |
Mandatory |
Tags |
“composite” “reference” “promote” |
Assertion ID |
ASM-TA-6011 |
Source |
[ASM60008] [ASM60012] |
Target |
<interface/> child element of a <reference/> element of a <composite/> |
Prerequisites |
<composite/> contains one or more child <component/> offering a <reference/> |
Predicate |
<interface/> element declares an interface which is a compatible superset of the interface declared by each of the promoted <component/> <reference/>, as defined in ASM-TA-6002 |
Prescription Level |
Mandatory |
Tags |
“composite” “reference” “promote” “interface” |
Assertion ID |
ASM-TA-6012 |
Source |
[ASM60008] [ASM60013] |
Target |
<reference/> element of a <composite/> |
Prerequisites |
1) <composite contains multiple <component/> child elements which have one or more <reference/> child element 2) <reference/> promotes multiple <component/> <reference/> elements 3) <reference/> element has no <interface/> child element |
Predicate |
The interfaces declared by each promoted <component/> <reference/> are the same interface |
Prescription Level |
Mandatory |
Tags |
“composite” “reference” “promote” “interface” |
Assertion ID |
ASM-TA-6013 |
Source |
[ASM60009] |
Target |
<reference/> element of a <composite/> |
Prerequisites |
1) <reference/> has @intent attribute declaring one or more intents 2) <reference/> promotes a <component/> <reference/> element which has one or more intents declared on it |
Predicate |
Intents declared on the <reference/> are not mutually exclusive with the intents declared on the promoted <component/> <reference/> |
Prescription Level |
Mandatory |
Tags |
“composite” “reference” “intents” “mutually exclusive” |
Assertion ID |
ASM-TA-6014 |
Source |
[ASM60010] |
Target |
@requires attribute of <reference/> element of a <composite/> |
Prerequisites |
1) @requires declares two or more intents |
Predicate |
The set of intents declared by the @requires attribute do not contain a pair that are mutually exclusive. |
Prescription Level |
Mandatory |
Tags |
“composite” “reference” “intents” “mutually exclusive” |
Assertion ID |
ASM-TA-6015 |
Source |
[ASM60011] |
Target |
@multiplicity attribute of <reference/> element of a <composite/> |
Prerequisites |
<reference/> promotes a <component/> <reference/> with multiplicity 0..1 |
Predicate |
@multiplicity has a value of 0..1 or a value of 1..1 |
Prescription Level |
Mandatory |
Tags |
“composite” “reference” “multiplicity” |
Assertion ID |
ASM-TA-6016 |
Source |
[ASM60011] |
Target |
@multiplicity attribute of <reference/> element of a <composite/> |
Prerequisites |
<reference/> promotes a <component/> <reference/> with multiplicity 1..1 |
Predicate |
@multiplicity has a value of 1..1 |
Prescription Level |
Mandatory |
Tags |
“composite” “reference” “multiplicity” |
Assertion ID |
ASM-TA-6017 |
Source |
[ASM60011] |
Target |
@multiplicity attribute of <reference/> element of a <composite/> |
Prerequisites |
<reference/> promotes a <component/> <reference/> with multiplicity 0..n |
Predicate |
@multiplicity has a value of 0..1 or a value of 1..1 or a value of 0..n or a value of 1..n |
Prescription Level |
Mandatory |
Tags |
“composite” “reference” “multiplicity” |
Assertion ID |
ASM-TA-6018 |
Source |
[ASM60011] |
Target |
@multiplicity attribute of <reference/> element of a <composite/> |
Prerequisites |
<reference/> promotes a <component/> <reference/> with multiplicity 1..n |
Predicate |
@multiplicity has a value of 1..1 or a value of 1..n |
Prescription Level |
Mandatory |
Tags |
“composite” “reference” “multiplicity” |
Assertion ID |
ASM-TA-6019 |
Source |
[ASM60014] |
Target |
@name attribute of <property/> element of a <composite/> |
Prerequisites |
<composite/> contains multiple <property/> elements |
Predicate |
@name attribute value is unique amongst the @name attributes of the <property/> elements of the<composite/> |
Prescription Level |
Mandatory |
Tags |
“composite” “property” “name” |
Assertion ID |
ASM-TA-6020 |
Source |
[ASM60022] |
Target |
<reference/> with @autowire=true of a <component> within a <composite/> |
Prerequisites |
<composite/> contains 1 <component/> <service/> that has an interface that is the same as the interface of the <reference/> |
Predicate |
<reference/> is wired to the <component/> <service/> and can invoke operations on it |
Prescription Level |
Mandatory |
Tags |
“component” “reference” “autowire” |
Assertion ID |
ASM-TA-6021 |
Source |
[ASM60022] |
Target |
<reference/> with @autowire=true of a <component> within a <composite/> |
Prerequisites |
<composite/> contains 1 <component/> <service/> that has an interface that is a compatible superset of the interface on the <reference/> |
Predicate |
<reference> is wired to the component <service/> and can invoke operations on it |
Prescription Level |
Mandatory |
Tags |
“component” “reference” “autowire” “compatible interface” |
Assertion ID |
ASM-TA-6022 |
Source |
[ASM60024] |
Target |
<reference/> with @autowire=true and with intents attached using @required, of a <component> within a <composite/> |
Prerequisites |
<composite/> contains 1 <component/> <service/> that is the same as the interface of the <reference/> and which has the same intents attached to it as are attached to the <reference/> |
Predicate |
<reference/> is wired to the <component/> <service/> and can invoke operations on it |
Prescription Level |
Mandatory |
Tags |
“component” “reference” “autowire” “intents” |
Assertion ID |
ASM-TA-6023 |
Source |
[ASM60024] |
Target |
<reference/> with @autowire=true and with intents attached using @required, of a <component> within a <composite/> |
Prerequisites |
<composite/> contains 1 <component/> <service/> that is the same as the interface of the <reference/> and which does not have the same intents attached to it as are attached to the <reference/> |
Predicate |
<reference/> is not wired to the <component/> <service/> and cannot invoke operations on it |
Prescription Level |
Mandatory |
Tags |
“component” “reference” “autowire” “intents” |
Assertion ID |
ASM-TA-6024 |
Source |
[ASM60025] |
Target |
<reference/> with @autowire=true and @multiplicity 0..1 of a <component> within a <composite/> |
Prerequisites |
<composite/> contains 2 or more <component/> <service/> that are compatible with the <reference/> |
Predicate |
<reference/> is wired to one <component/> <service/> and can invoke operations on it |
Prescription Level |
Mandatory |
Tags |
“component” “reference” “autowire” “intents” |
Assertion ID |
ASM-TA-6025 |
Source |
[ASM60026] |
Target |
<reference/> with @autowire=true and @multiplicity=0..n of a <component> within a <composite/> |
Prerequisites |
<composite/> contains 2 or more <component/> <service/> that are compatible with the <reference/> |
Predicate |
<reference/> is wired to all of the compatible <component> <service/> and can invoke operations on each of them |
Prescription Level |
Mandatory |
Tags |
“component” “reference” “autowire” “intents” |
Assertion ID |
ASM-TA-6026 |
Source |
[ASM60027] |
Target |
<reference/> with @autowire=true and @multiplicity=0..n or 0..1 of a <component> within a <composite/> |
Prerequisites |
<composite/> contains 0 <component/> <service/> that are compatible with the <reference/> |
Predicate |
<reference/> is not wired but the <component/> runs and can have services invoked on it |
Prescription Level |
Mandatory |
Tags |
“component” “reference” “autowire” “unwired” |
Assertion ID |
ASM-TA-6027 |
Source |
[ASM60028] |
Target |
<reference/> with @autowire=true and @multiplicity=1..1 or 1..n of a <component> within a <composite/> |
Prerequisites |
<composite/> contains 0 <component/> <service/> that are compatible with the <reference/> |
Predicate |
<reference/> is in error (unwired) and an error is reported by the runtime if an attempt is made to invoke service operations on the <component/> |
Prescription Level |
Mandatory |
Tags |
“component” “reference” “autowire” “unwired” |
Assertion ID |
ASM-TA-6028 |
Source |
[ASM60032] |
Target |
@promote attribute of <service/> of a <composite/> which is used as the <implementation/> of a higher level <component/> |
Prerequisites |
<composite/> contains contains at least 1 <component/> offering a <service> with an interface compatible with the interface of the <composite/> <serivce/> |
Predicate |
@promote attribute contains the URI of the <component/> <service/> |
Prescription Level |
Mandatory |
Tags |
“composite” “service” “promote” “implementation” |
Assertion ID |
ASM-TA-6029 |
Source |
[ASM60033] |
Target |
<reference/> with @multiplicity=1..1 or 1..n of a <component> of a <composite/> which is used as the <implementation/> of a higher level <component/> |
Prerequisites |
|
Predicate |
<reference/> is wired to a service within the <composite/> or is promoted by a <composite/> <reference/> |
Prescription Level |
Mandatory |
Tags |
“component” “reference” “wire” “promote” “implementation” |
Assertion ID |
ASM-TA-6030 |
Source |
[ASM60034] |
Target |
<property/> of a <component/> in a <composite/> used as the <implementation/> of a higher level <component/> |
Prerequisites |
<property/> is marked as @mustSupply=true in the componentType of the implementation of the lower level <component/> |
Predicate |
<property/> is given a value either through the @source attribute (from a <composite/> <property/>) or through a value in the <property/> configuration |
Prescription Level |
Mandatory |
Tags |
“component” “property” “value” “source” |
Assertion ID |
ASM-TA-6031 |
Source |
[ASM60030] |
Target |
@name attribute of <implementation.composite/> element |
Prerequisites |
|
Predicate |
@name attribute contains the QName of a <composite/> in the Domain |
Prescription Level |
Mandatory |
Tags |
“implementation.composite” “name” “composite” |
Assertion ID |
ASM-TA-6032 |
Source |
[ASM60031] |
Target |
SCA runtime |
Prerequisites |
a) <composite/> contains an <include/> element referencing a second <composite b) including the second composite into the first one creates an invalid <composite/> configuration (eg two <component/> elements have the same @name value) |
Predicate |
SCA runtime reports an error |
Prescription Level |
Mandatory |
Tags |
“component” “property” “value” “source” |
Assertion ID |
ASM-TA-6033 |
Source |
[ASM60035] |
Target |
<reference/> of <composite> |
Prerequisites |
a) <reference/> promotes 2 or more <component> <reference>s b) one promoted <component/> <reference/> has @wiredByImpl set |
Predicate |
all the <component/> <reference/> elements promoted by the <reference/> have the same value for their @wiredByImpl attribute |
Prescription Level |
Mandatory |
Tags |
“composite” “reference” “promote” “wiredByImpl” |
Assertion ID |
ASM-TA-6034 |
Source |
[ASM60036] |
Target |
@wiredByImpl attribute of <reference/> of <composite/> |
Prerequisites |
a) <reference/> promotes one or more <component/> <reference/> |
Predicate |
@wiredByImpl attribute value is the same as the @wiredByImpl value of the promoted <component/> <reference/>s |
Prescription Level |
Mandatory |
Tags |
“component” “reference” “promote” “wiredByImpl” |
Assertion ID |
ASM-TA-6035 |
Source |
[ASM60037] |
Target |
@promote attribute of a <reference/> of <composite/> |
Prerequisites |
a) <composite/> contains an <include/> element referencing a second <composite/> b) @promote attribute contains a URI pointing to a <component/> <reference/> which is contained in the second <composite/> |
Predicate |
The <reference/> promotes the <component/> <reference/> contained in the second <composite/> |
Prescription Level |
Mandatory |
Tags |
“component” “reference” “promote” “include” |
Assertion ID |
ASM-TA-6036 |
Source |
[ASM60038] |
Target |
@promote attribute of a <service/> of <composite/> |
Prerequisites |
a) <composite/> contains an <include/> element referencing a second <composite/> b) @promote attribute contains a URI pointing to a <component/> <service/> which is contained in the second <composite/> |
Predicate |
The <service/> promotes the <component/> <service/> contained in the second <composite/> |
Prescription Level |
Mandatory |
Tags |
“component” “service” “promote” “include” |
Assertion ID |
ASM-TA-6037 |
Source |
[ASM60039] |
Target |
<wire/> element of <composite/> |
Prerequisites |
a) <composite/> contains an <include/> element referencing a second <composite/> b) @source attribute of <wire/> contains a URI pointing to a <component/> <reference/> which is contained in the second <composite/> c) @target attribute of <wire/> contains a URI pointing to a <component/> <service/> which is contained in the second <composite/> |
Predicate |
The <wire/> successfully wires the <component> <reference/> to the <component/> <service/> and the reference is able to invoke an operation of the service. |
Prescription Level |
Mandatory |
Tags |
“composite” “wire” “include” |
Assertion ID |
ASM-TA-6038 |
Source |
[ASM60040] |
Target |
<property/> element of <composite/> |
Prerequisites |
a) The <property/> element has a @type attribute declared |
Predicate |
<property/> element does not have an @element attribute declared |
Prescription Level |
Mandatory |
Tags |
“composite” “property” “type” “element” |
Assertion ID |
ASM-TA-6039 |
Source |
[ASM60040] |
Target |
<property/> element of <composite/> |
Prerequisites |
a) The <property/> element has a @element attribute declared |
Predicate |
<property/> element does not have an @type attribute declared |
Prescription Level |
Mandatory |
Tags |
“composite” “property” “type” “element” |
Assertion ID |
ASM-TA-6040 |
Source |
[ASM60041] |
Target |
<composite/> containing an <include/> element which references a second <composite/> |
Prerequisites |
second <composite/> has @local=”true” |
Predicate |
<composite/> has @local=”true” |
Prescription Level |
Mandatory |
Tags |
“composite” “local” “include” |
Assertion ID |
ASM-TA-6041 |
Source |
[ASM60042] |
Target |
@name attribute of <include/> element of <composite/> |
Prerequisites |
|
Predicate |
@name attribute value is the Qname of a second <composite/> in the SCA Domain |
Prescription Level |
Mandatory |
Tags |
“composite” “include” “name” |
Assertion ID |
ASM-TA-6042 |
Source |
[ASM60043] |
Target |
interface of a service which is the target of a <wire/> element within a composite |
Prerequisites |
a) wire @source attribute declares a component reference in the composite b) wire @target attribute declares a component service in the composite c) both the component service and the component reference exist |
Predicate |
the interface of the service is a compatible superset of the interface of the reference |
Prescription Level |
Mandatory |
Tags |
“wire” “target” “source” "interface" "compatible superset" |
Assertion ID |
ASM-TA-6043 |
Source |
[ASM60045] |
Target |
composite used as the implementation of a component |
Prerequisites |
|
Predicate |
componentType of the composite is determined according to the rules in the SCA Assembly specification section "Component Type of a Composite used as a Component Implementation" |
Prescription Level |
Mandatory |
Tags |
“composite” “implementation” “componentType” |
Assertion ID |
ASM-TA-6044 |
Source |
[ASM60046] |
Target |
Wire declared by the @target attribute of a <reference/> of a component |
Prerequisites |
a) @target attribute declares a single target using the form "component-name/service-name" b) the component named in the @target attribute offers multiple services, each of which is compatible with the reference c) One of the services of the component named in the @target attribute has the name "service-name" |
Predicate |
The wire target is the service with the name "service-name" of the component with the name "component-name" and the reference is able to invoke this service. |
Prescription Level |
Mandatory |
Tags |
“wire” “target” “service-name” "component-name" |
Assertion ID |
ASM-TA-6045 |
Source |
[ASM60047] |
Target |
Wire declared by the @target attribute of a <reference/> of a component |
Prerequisites |
a) @target attribute declares a single target using the form "component-name/service-name" b) the component named in the @target attribute does not have a service with the name "service-name" c) the component named in the @target attribute has at least one service which is compatible with the reference |
Predicate |
The wire is not valid and the SCA runtime raises an error. |
Prescription Level |
Mandatory |
Tags |
“wire” “target” “service-name” "component-name" "error" |
Assertion ID |
ASM-TA-6046 |
Source |
[ASM60048] |
Target |
Wire declared by the @target attribute of a <reference/> of a component |
Prerequisites |
a) @target attribute declares a single target using the form "component-name" |
Predicate |
component identified by the @target attribute has a single service and this service is compatible with the reference and the reference can invoke this service |
Prescription Level |
Mandatory |
Tags |
“wire” “target” "component-name" "single" |
Assertion ID |
ASM-TA-6047 |
Source |
[ASM60049] |
Target |
Wire declared by the @target attribute of a <reference/> of a component |
Prerequisites |
a) @target attribute declares a single target using the form "component-name/service-name/binding-name" b) the component named in the @target attribute offers a service with the name "service-name" c) the service named "service-name" has multiple bindings, one of which has the name "binding-name" |
Predicate |
The wire target is the service with the name "service-name" of the component with the name "component-name", and the wire uses the binding with the name "binding-name" and the reference is able to invoke the service. |
Prescription Level |
Mandatory |
Tags |
“wire” “target” "component-name" "service-name" "binding-name" |
Assertion ID |
ASM-TA-6048 |
Source |
[ASM60050] |
Target |
Wire declared by the @target attribute of a <reference/> of a component |
Prerequisites |
a) @target attribute declares a single target using the form "component-name/service-name/binding-name" b) the component named in the @target attribute offers a service with the name "service-name" c) the service named "service-name" does not have a binding with the name "binding-name" |
Predicate |
The wire is not valid and the SCA runtime raises an error. |
Prescription Level |
Mandatory |
Tags |
“wire” “target” "component-name" "service-name" "binding-name" |
Assertion ID |
ASM-TA-6049 |
Source |
[ASM60051] |
Target |
Wire declared by the @target attribute of a <reference/> of a component |
Prerequisites |
a) @target attribute declares a single target using the form "component-name/service-name" b) the reference has some policy requirements c) the component named in the @target attribute offers a service with the name "service-name" d) the service named "service-name" has multiple <binding/> subelements, one of which is compatible with the policy requirements of the reference |
Predicate |
The wire is valid and uses the binding which is compatible with the policy requirements of the reference |
Prescription Level |
Mandatory |
Tags |
“wire” “target” "component-name" "service-name" "bindings" |
Assertion ID |
ASM-TA-8001 |
Source |
[ASM80002] |
Target |
<interface.xxx/> element |
Prerequisites |
a) The interface referred to by the <interface.xxx/> element is marked remotable using the language appropriate mechanism. b) The interface referred to by the <interface.xxx/> element has >1 operation. |
Predicate |
The name of an operation of the interface is not equal to the name of any other operation of the interface. |
Prescription Level |
Mandatory |
Tags |
"remotable” “interface.xxx" “Language dependent” |
Assertion ID |
ASM-TA-8002 |
Source |
[ASM80003] |
Target |
<interface.xxx/> element |
Prerequisites |
a) The interface referred to by the <interface.xxx/> element is marked remotable using the language appropriate mechanism. b) The interface referred to by the <interface/> element has an operation with input parameters. |
Predicate |
The value of the input parameters of the operation of the interface referred to by the <interface/> element are the same after the operation completes as they were before the operation invocation as observable by the client invoking the operation. |
Prescription Level |
Mandatory |
Tags |
"remotable” “interface.xxx" |
Assertion ID |
ASM-TA-8003 |
Source |
[ASM80003] |
Target |
<interface.xxx/> element |
Prerequisites |
a) The interface referred to by the <interface,xxx/> element is marked remotable using the language appropriate mechanism. b) The interface referred to by the <interface/> element has an operation with output parameters. |
Predicate |
The value of the output parameters of the operation of the interface referred to by the <interface/> element remain constant after the operation invocation has completed, as observable by the service implementation. |
Prescription Level |
Mandatory |
Tags |
"remotable" |
Assertion ID |
ASM-TA-8004 |
Source |
[ASM80004] |
Target |
<interface.xxx/> element of a <reference/> element |
Prerequisites |
The interface referred to by the <interface.xxx/> element is marked bidirectional using the language appropriate mechanism. |
Predicate |
The invoked service provider can invoke an operation of the callback interface on the client component. |
Prescription Level |
Mandatory |
Tags |
"bidirectional" “component reference” |
Assertion ID |
ASM-TA-8005 |
Source |
[ASM80005] |
Target |
<interface.xxx/> element |
Prerequisites |
a) The interface referred to by the <interface.xxx/> element is marked bidirectional using the language appropriate mechanism. b) The forward interface referred to by the <interface.xxx/> element is marked remotable using the language appropriate mechanism. |
Predicate |
The callback interface referred to by the <interface.xxx/> element is marked remotable using the language appropriate mechanism. |
Prescription Level |
Mandatory |
Tags |
“bidirectional” "remotable" “Language dependent” |
Assertion ID |
ASM-TA-8006 |
Source |
[ASM80005] |
Target |
<interface.xxx/> element |
Prerequisites |
a) The interface referred to by the <interface.xxx/> element is marked bidirectional using the language appropriate mechanism. b) The forward interface referred to by the <interface.xxx/> element is marked local using the language appropriate mechanism. |
Predicate |
The callback interface referred to by the <interface.xxx/> element is marked local using the language appropriate mechanism. |
Prescription Level |
Mandatory |
Tags |
"bidirectional" “local” “Language dependent” |
Assertion ID |
ASM-TA-8007 |
Source |
[ASM80010] |
Target |
<interface.xxx/> element |
Prerequisites |
The interface document referred to by the <interface.xxx/> element defines a callback interface using the language appropriate mechanism. |
Predicate |
The invoked service provider can invoke an operation of the callback interface on the client component. |
Prescription Level |
Mandatory |
Tags |
"bidirectional" “component reference” |
Assertion ID |
ASM-TA-8008 |
Source |
[ASM80011] |
Target |
<interface.xxx/> element |
Prerequisites |
a) The interface document referred to by the <interface.xxx/> element defines a callback interface using the language appropriate mechanism. b) The <interface.xxx/> elements declares a callback interface directly. |
Predicate |
The callback interface in the interface document is compatible with the callback interface in the <interface.xxx/> element, as defined by ASM-TA-6001 |
Prescription Level |
Mandatory |
Tags |
"bidirectional" |
Assertion ID |
ASM-TA-8009 |
Source |
[ASM50004] |
Target |
<interface.xxx/> element of a <service/> element of a <component/> element |
Prerequisites |
The interface of the corresponding <service/> element of the <componentType/> for the <implementation/> of the <component/> declares a callback interface. |
Predicate |
The <interface.xxx/> element declares a callback interface compatible with the callback interface declared on the corresponding <service/> in the componentType, as asserted by ASM-TA-6001 |
Prescription Level |
Mandatory |
Tags |
"bidirectional" “component services” |
Assertion ID |
ASM-TA-8010 |
Source |
[ASM50011] |
Target |
<interface.xxx/> element of a <reference/> element of a <component/> element |
Prerequisites |
The interface of the corresponding <reference/> element of the <componentType/> for the <implementation/> of the <component/> declares a callback interface. |
Predicate |
The <interface.xxx/> element declares a callback interface compatible with the callback interface declared on the corresponding <reference/> in the componentType, as asserted by ASM-TA-6001 |
Prescription Level |
Mandatory |
Tags |
"bidirectional" “component references” |
Assertion ID |
ASM-TA-8011 |
Source |
[ASM50004] [ASM50011] |
Target |
<interface.xxx/>element of a <service/> or <reference/> element of a <component/> element |
Prerequisites |
The interface of the corresponding <service/> or <reference/> element of the <componentType/> element for the <implementation.xxx/> element of the <component/> element does not define a callback interface using the language appropriate mechanism. |
Predicate |
The <interface.xxx/> element of the <service/> or <reference/> element of the <component/> element does not defines a callback interface. |
Prescription Level |
Mandatory |
Tags |
"bidirectional" “component services” component references” |
Assertion ID |
ASM-TA-8012 |
Source |
[ASM60005] |
Target |
<interface.xxx/> element of a <service/> element of a <composite/> element |
Prerequisites |
The interface of the promoted component <service/> element defines a callback interface. |
Predicate |
The <interface.xxx/> element declares a callback interface compatible with the callback interface declared on the promoted component <service/> element, as asserted by ASM-TA-6001 |
Prescription Level |
Mandatory |
Tags |
"bidirectional" “composite services” “promote” |
Assertion ID |
ASM-TA-8013 |
Source |
[ASM60012] |
Target |
<interface.xxx/> element of a <reference/> element of a <composite/> element |
Prerequisites |
The interface of the promoted component <reference/> element defines a callback interface. |
Predicate |
The <interface.xxx/> element declares a callback interface compatible with the callback interface declared on the promoted component <reference/> element, as asserted by ASM-TA-6001 |
Prescription Level |
Mandatory |
Tags |
"bidirectional" “composite references” “promote” |
Assertion ID |
ASM-TA-8014 |
Source |
[ASM60005] [ASM60012] |
Target |
<interface.xxx/> element of a <service/> or <reference/> element of a <composite/> element |
Prerequisites |
The corresponding promoted component <service/> or <reference/> does not define a callback interface. |
Predicate |
The <interface.xxx/> element does not defines a callback interface. |
Prescription Level |
Mandatory |
Tags |
"bidirectional" “composite services” “composite references” “promote” |
Assertion ID |
ASM-TA-8015 |
Source |
[ASM80009] |
Target |
<implementation/> of a <component/> which has a <service/> with an <interface/> which has a callback interface |
Prerequisites |
One forward operation invocation has been made from a service client component to the service |
Predicate |
The implementation can invoke an arbitrary number of operations of the callback interface on the client component an arbitrary number (including zero) of times. |
Prescription Level |
Mandatory |
Tags |
"bidirectional" |
Assertion ID |
ASM-TA-8018 |
Source |
[ASM80008] |
Target |
<service/> or <reference/> element |
Prerequisites |
The interface of a <service/> or <reference/> element has required intents. |
Predicate |
The required intents of the interface apply to the <service/> or <reference/> element using the interface. |
Prescription Level |
Mandatory |
Tags |
"intents" “component services” “component references” “composite services” “composite references” |
Assertion ID |
ASM-TA-8020 |
Source |
[ASM80001] |
Target |
@interface attribute of a <interface.wsdl> element |
Prerequisites |
|
Predicate |
The @interface attribute references a WSDL 1.1 <portType/> |
Prescription Level |
Mandatory |
Tags |
"interface.wsdl"”portType” |
Assertion ID |
ASM-TA-8021 |
Source |
[ASM80016] |
Target |
@callbackInterface of a <interface.wsdl> element |
Prerequisites |
|
Predicate |
The @callbackInterface attribute references a WSDL 1.1 <portType/> element |
Prescription Level |
Mandatory |
Tags |
"interface.wsdl"”portType” |
Assertion ID |
ASM-TA-8022 |
Source |
[ASM80017] |
Target |
<interface.wsdl/> element |
Prerequisites |
|
Predicate |
<interface.wsdl/> element does not contain @remotable="false" |
Prescription Level |
Mandatory |
Tags |
"interface.wsdl"”portType” |
Assertion ID |
ASM-TA-9002 |
Source |
[ASM90001] |
Target |
The @uri attribute of a <binding /> element of a <reference/> element |
Prerequisites |
The @uri attribute has a non-default value |
Predicate |
OR
|
Prescription Level |
Mandatory |
Tags |
“binding” “reference” “uri” |
Assertion ID |
ASM-TA-9003 |
Source |
[ASM90002] |
Target |
@name attribute of a <binding /> element in a <service/> or <reference/> element |
Prerequisites |
The <service/> or <reference/> element has more than one <binding /> element |
Predicate |
The value of the @name attribute for a <binding /> element must be unique within all the <binding /> elements for each <service/> or <reference/> element |
Prescription Level |
Mandatory |
Tags |
“binding” “service” “reference” “name” |
Assertion ID |
ASM-TA-9004 |
Source |
[ASM90003] |
Target |
<binding /> element of a <reference/> element |
Prerequisites |
<binding/> element does not specify an endpoint using binding specific mechanisms |
Predicate |
<reference/> element has a @uri attribute which resolves to a valid service endpoint |
Prescription Level |
Mandatory |
Tags |
“binding” reference” “uri” |
Assertion ID |
ASM-TA-9005 |
Source |
[ASM90004] |
Target |
<reference/> element of a <component/> |
Prerequisites |
<reference/> element is wired to a target <component/> <service/> in the SCA domain target <service/> has multiple <binding/> subelements, each with an @name attribute declared wire between reference and service uses a specific binding |
Predicate |
<reference/> element has a @target attribute which has the form “componentName/serviceName/bindingName” |
Prescription Level |
Mandatory |
Tags |
“binding” reference” “target” |
Assertion ID |
ASM-TA-9006 |
Source |
[ASM90005] |
Target |
<binding.sca/> subelement of the service of a component |
Prerequisites |
|
Predicate |
The <binding.sca/> element has no @uri attribute declared |
Prescription Level |
Mandatory |
Tags |
“binding.sca” "@uri” |
Assertion ID |
ASM-TA-10001 |
Source |
[ASM10001] |
Target |
QName of <intent/>, <policySet/>, <binding/>, <bindingType/> or <implementationType/> subelement of a <definitions/> element |
Prerequisites |
|
Predicate |
QName is unique amongst all subelements of all <definitions/> elements in the SCA Domain |
Prescription Level |
Mandatory |
Tags |
“QName” “Domain” “definitions” |
Assertion ID |
ASM-TA-10002 |
Source |
[ASM100002] |
Target |
<intent/>, <policySet/>, <binding/>, <bindingType/> or <implementationType/> subelement of a <definitions/> element in the SCA Domain |
Prerequisites |
|
Predicate |
Element is accessible for reference by any artifact in the SCA Domain |
Prescription Level |
Mandatory |
Tags |
“Domain” “SCA” “definitions” |
Assertion ID |
ASM-TA-10003 |
Source |
[ASM100003] |
Target |
definitions.xml file |
Prerequisites |
Contents of definitions.xml file do not conform to the sca-definitional.xsd schema |
Predicate |
The SCA runtime rejects the definitions.xml file and raises an error |
Prescription Level |
Mandatory |
Tags |
“Domain” “SCA” “definitions.xml” “sca-definitions.xsd” “schema” |
Assertion ID |
ASM-TA-11001 |
Source |
[ASM11001] |
Target |
an implementation type |
Prerequisites |
|
Predicate |
Meets the requirements for an implementation type defined in the "Implementation Type Documentation Requirements for SCA Assembly Model Version 1.1 Specification" |
Prescription Level |
Mandatory |
Tags |
"implementation type" "requirements" |
Assertion ID |
ASM-TA-10002 |
Source |
[ASM11002] |
Target |
<binding/> extension element |
Prerequisites |
|
Predicate |
extension element is declared as an element in the substitution group of the sca:binding element |
Prescription Level |
Mandatory |
Tags |
"binding extension" "element" "substitution group" |
Assertion ID |
ASM-TA-11003 |
Source |
[ASM11003] |
Target |
<binding/> extension element |
Prerequisites |
|
Predicate |
extension element is declared as a type which is an extension of the sca:Biding type |
Prescription Level |
Mandatory |
Tags |
"binding extension" "element" "type" |
Assertion ID |
ASM-TA-12001 |
Source |
[ASM12001] |
Target |
SCA contribution |
Prerequisites |
|
Predicate |
Artifacts of the contribution are presented as a hierarchy of resources based off a single root |
Prescription Level |
Mandatory |
Tags |
“contribution” “resources” “hierarchy” |
Assertion ID |
ASM-TA-12002 |
Source |
[ASM12002] |
Target |
SCA contribution |
Prerequisites |
|
Predicate |
Directory with the name META-INF exists at the root of the contribution |
Prescription Level |
Optional |
Tags |
“contribution” “META-INF” |
Assertion ID |
ASM-TA-12003 |
Source |
[ASM12003] |
Target |
SCA contribution |
Prerequisites |
Contribution has a META-INF directory at the root (ASM-TA-12002) |
Predicate |
Contribution META-INF directory contains a file with the name sca-contribution.xml |
Prescription Level |
Optional |
Tags |
“contribution” “META-INF” “sca-contribution.xml” |
Assertion ID |
ASM-TA-12005 |
Source |
[ASM12005] |
Target |
Artifact related declarations of how to resolve artifacts referenced in contribution |
Prerequisites |
Contribution contains references to artifacts not contained within the contribution but exist elsewhere such as in other contributions |
Predicate |
Artifacts are resolved using artifact related mechanisms |
Prescription Level |
Mandatory |
Tags |
“contribution” “artifact” “resolution” |
Assertion ID |
ASM-TA-12006 |
Source |
[ASM12021] |
Target |
Artifact related declaration of how to resolve an artifact referenced in contribution |
Prerequisites |
Artifact cannot be found using artifact related mechanisms |
Predicate |
SCA runtime reports an error |
Prescription Level |
Mandatory |
Tags |
“contribution” “artifact” “resolution” |
Assertion ID |
ASM-TA-12007 |
Source |
[ASM12006] |
Target |
Contribution in ZIP packaging format |
Prerequisites |
|
Predicate |
SCA runtime accepts contribution |
Prescription Level |
Mandatory |
Tags |
“contribution” “ZIP” |
Assertion ID |
ASM-TA-12008 |
Source |
[ASM12007] |
Target |
2 contributions with exported artifacts |
Prerequisites |
An artifact name exported by one contribution is the same as an artifact name exported by the second contribution |
Predicate |
All artifact names exported by one contribution are different from any artifact name exported by the second contribution |
Prescription Level |
Optional |
Tags |
“contribution” “artifact” “name” |
Assertion ID |
ASM-TA-12010 |
Source |
[ASM12009] |
Target |
Contribution which has dependent contributions from which it resolves artifacts |
Prerequisites |
2 indirect dependent contributions (ie dependents of dependents) export conflicting artifacts |
Predicate |
Conflicting dependent contributions are resolved by an entry in the dependent contribution list of the contribution |
Prescription Level |
Mandatory |
Tags |
“contribution” “import” “conflict” |
Assertion ID |
ASM-TA-12011 |
Source |
[ASM12010] |
Target |
Contribution contains a reference to an artifact which is marked with a non-SCA artifact resolution mechanism |
Prerequisites |
|
Predicate |
Non-SCA artifact resolution mechanism is used to resolve the artifact reference |
Prescription Level |
Mandatory |
Tags |
“contribution” “non-SCA” “artifact” “resolution” |
Assertion ID |
ASM-TA-12012 |
Source |
[ASM12011] |
Target |
Contribution contains a reference to an artifact which is marked with a non-SCA artifact resolution mechanism |
Prerequisites |
Non-SCA artifact resolution mechanism does not resolve the artifact |
Predicate |
SCA runtime reports an error that it cannot resolve the artifact |
Prescription Level |
Mandatory |
Tags |
“contribution” “non-SCA” “artifact” “resolution” |
Assertion ID |
ASM-TA-12013 |
Source |
[ASM12012] |
Target |
<reference/> of a <component/> deployed at the SCA Domain level |
Prerequisites |
1) <reference/> has no target service configured by any means (no @target attribute, no child <binding/> elements, no @autowire attribute, no <wire/> elements with this reference in the @source attribute) 2) at least one <component/> <service/> is deployed in the Domain that is a compatible with the <component/> <reference/> (ie this service is a valid target for a wire from the <component/> <reference/>) |
Predicate |
The <reference/> remains unwired and as a result cannot be invoked by the <component/> <implementation/>. (The principle here is that the autowire process is NOT used to wire the reference – since @autowire=false for the Domain itself) |
Prescription Level |
Mandatory |
Tags |
“Domain” “autowire” “component” “reference” |
Assertion ID |
ASM-TA-12014 |
Source |
[ASM12013] |
Target |
<reference/> with @autowire=true of a <component/> which is deployed to the Domain |
Prerequisites |
(SCA runtime does not support autowire at the Domain level) |
Predicate |
<component/> is not deployed to the Domain and an error is reported |
Prescription Level |
Optional |
Tags |
“Domain” “autowire” “component” “reference” |
Assertion ID |
ASM-TA-12015 |
Source |
[ASM12013] |
Target |
<reference/> with @autowire=true of a <component/> which is deployed to the Domain |
Prerequisites |
1)
SCA runtime supports autowire at the Domain level |
Predicate |
<reference/> is wired to the compatible <component/> <service/> |
Prescription Level |
Optional |
Tags |
“Domain” “autowire” “component” “reference” |
Assertion ID |
ASM-TA-12016 |
Source |
[ASM12013] |
Target |
<reference/> with @autowire=true of a <component/> which is deployed to the Domain |
Prerequisites |
1)
SCA runtime supports autowire at the Domain level |
Predicate |
<reference/> wiring remains unchanged when the second <component/> <service/> is deployed |
Prescription Level |
Optional |
Tags |
“Domain” “autowire” “component” “reference” |
Assertion ID |
ASM-TA-12017 |
Source |
[ASM12013] |
Target |
<reference/> with @autowire=true of a <component/> which is deployed to the Domain |
Prerequisites |
1)
SCA runtime supports autowire at the Domain level |
Predicate |
<reference/> wiring is updated when the second <component/> <service/> is deployed and the <reference/> is able to invoke the second <component/> <service/> |
Prescription Level |
Optional |
Tags |
“Domain” “autowire” “component” “reference” |
Assertion ID |
ASM-TA-12018 |
Source |
[ASM12014] |
Target |
<reference/> of <component/> deployed at the SCA Domain level |
Prerequisites |
1)
SCA runtime supports updating of <reference/> targets at
runtime |
Predicate |
<reference/> wiring is updated when the <wire/> is deployed and the <reference/> is able to invoke the <component/> <service/> declared by the <wire/> @target attribute. |
Prescription Level |
Optional |
Tags |
“Domain” “component” “reference” “wire” “update” |
Assertion ID |
ASM-TA-12019 |
Source |
[ASM12015] |
Target |
<component/> at the SCA domain level |
Prerequisites |
1) Configuration of the <component/> is updated by a deployment action 2) <component/> has an invokable <service/> |
Predicate |
Invocation of the <component/> <service/> by a new client after the deployment action is complete reflects the updated configuration of the <component/> |
Prescription Level |
Mandatory |
Tags |
“component” “configuration” “update” “Domain” |
Assertion ID |
ASM-TA-12020 |
Source |
[ASM12016] |
Target |
<component/> at the SCA domain level |
Prerequisites |
1) Configuration of the <component/> is updated by a deployment action 2) Instances of the <component/> are in existence at the time of the deployment action 3) SCA runtime maintains existing instances with the old configuration after the configuration is updated by the deployment action |
Predicate |
<component/> instances with the initial configuration continue to exist and to service requests after the deployment action has completed |
Prescription Level |
Optional |
Tags |
“component” “configuration” “update” “Domain” |
Assertion ID |
ASM-TA-12021 |
Source |
[ASM12016] |
Target |
<component/> at the SCA domain level |
Prerequisites |
1) Configuration of the <component/> is updated by a deployment action 2) Instances of the <component/> are in existence at the time of the deployment action 3) SCA runtime stops and discards existing instances with the old configuration after the configuration is updated by the deployment action |
Predicate |
<component/> instances with the initial configuration are stopped and discarded and cease to service requests after the deployment action has completed |
Prescription Level |
Optional |
Tags |
“component” “configuration” “update” “Domain” |
Assertion ID |
ASM-TA-12022 |
Source |
[ASM12017] |
Target |
<reference/> of a <component/> where the reference is wired to the <service/> of a second <component/> |
Prerequisites |
1) second <component/> is removed by a deployment action 2) <reference/> wire is not the result of the autowire process |
Predicate |
Invocation of any operation of the <reference/> receives a Service Unavailable fault |
Prescription Level |
Optional |
Tags |
“component” “reference” “deployment” “remove” "target" |
Assertion ID |
ASM-TA-12023 |
Source |
[ASM12017] |
Target |
<reference/> of a <component/> where the reference is wired to the <service/> of a second <component/> |
Prerequisites |
1) second <component/> is removed by a deployment action 2) <reference/> wire is the result of the autowire process 3) SCA runtime supports dynamic rewiring of references 4) a third <component/> exists in the Domain which has a <service/> which is compatible with the <component/> <reference/> |
Predicate |
After the deployment action is complete, <reference/> becomes wired to the <service/> of the third <component/> and service invocations through the <reference/> result in invocations of the operations of the <service/> of the third <component/> |
Prescription Level |
Optional |
Tags |
“component” “reference” “deployment” “remove” "target" "autowire" |
Assertion ID |
ASM-TA-12024 |
Source |
[ASM12018] |
Target |
<component/> <service/> that is the target of a wire |
Prerequisites |
1) <component/> configuration is updated by a deployment action |
Predicate |
invocations to the <service/> over that wire that take place after the deployment action is complete use the new configuration of the <component/> |
Prescription Level |
Preferred |
Tags |
“component” “service” “deployment” “update” "target" |
Assertion ID |
ASM-TA-12025 |
Source |
[ASM12020] |
Target |
<reference/> with @autowire=true of a <component/> deployed at the Domain level |
Prerequisites |
1) new <component/> is deployed into the Domain which has a <service/> that is a compatible with the <reference/> 2) SCA runtime supports dynamic update of references |
Predicate |
target(s) of the <reference/> are dynamically updated so that all invocations of the <reference/> after the deployment of the new <component/> is complete can use the <service/> of the new <component/> |
Prescription Level |
Optional |
Tags |
“component” “reference” “autowire” “target” "deployment" "dynamic" |
Assertion ID |
ASM-TA-12026 |
Source |
[ASM12020] |
Target |
<reference/> with @autowire=true of a <component/> deployed at the Domain level |
Prerequisites |
1) new <component/> is deployed into the Domain which has a <service/> that is a compatible with the <reference/> 2) SCA runtime does not support dynamic update of references |
Predicate |
target(s) of the <reference/> remain unchanged until its <component/> is stopped and restarted - invocation of operations of the <reference/> cannot use the <service/> of the new <component/> until this occurs. |
Prescription Level |
Optional |
Tags |
“component” “reference” “autowire” “target” "deployment" |
Assertion ID |
ASM-TA-12027 |
Source |
[ASM12022] |
Target |
a reference to an artifact in a contribution where that artifact is resolved using the SCA import mechanism |
Prerequisites |
1) the <contribution/> document has multiple <import/> declarations which relate to the namespace of the referenced artifact |
Predicate |
the search to resolve the artifact is conducted by searching the locations identified by the <import/> declarations in the order in which the <import/> statements appear in the <contribution/> document |
Prescription Level |
Mandatory |
Tags |
“contribution” “import” “artifact” “resolution” "multiple" |
Assertion ID |
ASM-TA-12028 |
Source |
[ASM12023] [ASM12024] |
Target |
a reference to an artifact in a contribution where that artifact is resolved using the SCA import mechanism |
Prerequisites |
1) the <contribution/> document has an <import/> declaration for the namespace of the artifact 2) the location identified by the <import/> declaration contains an instance of the artifact 3) the contribution containing the reference to the artifact also contains an instance of the artifact |
Predicate |
the artifact reference is resolved to the artifact instance from the location identified by the <import/> declaration |
Prescription Level |
Mandatory |
Tags |
“contribution” “import” “artifact” “resolution” |
Assertion ID |
ASM-TA-12029 |
Source |
[ASM12023] |
Target |
a reference to an artifact in a contribution where that artifact is resolved using the SCA import mechanism |
Prerequisites |
1) the <contribution/> document has an <import/> declaration for the namespace of the artifact 2) the location identified by the <import/> declaration does not contain an instance of the artifact 3) the contribution containing the reference to the artifact also contains an instance of the artifact |
Predicate |
the artifact reference is resolved to the artifact instance in the contribution which contains the reference |
Prescription Level |
Mandatory |
Tags |
“contribution” “import” “artifact” “resolution” |
Assertion ID |
ASM-TA-12030 |
Source |
[ASM12026] |
Target |
a reference to an artifact in a contribution which resolves to an artifact instance in a second contribution |
Prerequisites |
1) the resolved artifact has references to yet further artifacts 2) both the original contribution and the second contribution have <import/> statements relating to namespace(s) of the additional artifacts |
Predicate |
the artifact references of the resolved artifact instance are resolved using the <import/> statements of the contribution which contains the artifact instance |
Prescription Level |
Mandatory |
Tags |
“contribution” “import” “artifact” “resolution” |
Assertion ID |
ASM-TA-12031 |
Source |
[ASM12025] |
Target |
a reference to an artifact in a contribution where that artifact is resolved using the SCA import mechanism |
Prerequisites |
1) the <contribution/> document has an <import/> declaration for the namespace of the artifact 2) the location identified by the <import/> declaration does not contain an instance of the artifact 3) the contribution containing the reference to the artifact also does not contain an instance of the artifact |
Predicate |
the artifact references remains unresolved and the SCA runtime reports an error to this effect |
Prescription Level |
Mandatory |
Tags |
“contribution” “import” “artifact” “resolution” "unresolved" "error" |
Assertion ID |
ASM-TA-12031 |
Source |
[ASM12025] |
Target |
a reference to an artifact in a contribution where that artifact is resolved using the SCA import mechanism |
Prerequisites |
1) the <contribution/> document has an <import/> declaration for the namespace of the artifact 2) the location identified by the <import/> declaration does not contain an instance of the artifact 3) the contribution containing the reference to the artifact also does not contain an instance of the artifact |
Predicate |
the artifact references remains unresolved and the SCA runtime reports an error to this effect |
Prescription Level |
Mandatory |
Tags |
“contribution” “import” “artifact” “resolution” "unresolved" "error" |
Assertion ID |
ASM-TA-12032 |
Source |
[ASM12027] |
Target |
sca-contribution.xml file in an SCA contribution |
Prerequisites |
sca-contribution.xml file contents do not conform to the sca-contribution.xsd |
Predicate |
SCA runtime raises an error when it reads the sca-contribution.xml file |
Prescription Level |
Mandatory |
Tags |
“sca-contribution.xsd” “sca-contribution.xml” |
Assertion ID |
ASM-TA-12034 |
Source |
[ASM12030] |
Target |
@namespace attribute <export/> element in sca-contribution.xml file in an SCA contribution |
Prerequisites |
contribution contains one or more XML artifacts |
Predicate |
@namespace attribute contains the namespace of one or more of the XML artifacts contained in the contribution |
Prescription Level |
Optional |
Tags |
“sca-contribution.xsd” “export” “namespace” “atrifacts” |
Assertion ID |
ASM-TA-12035 |
Source |
[ASM12031] |
Target |
artifact with dependencies |
Prerequisites |
a) artifact is contained within a first SCA contribution b) artifact is exported from the first contribution c) artifact is used as a dependency by a second artifact in a second contribution, which imports the namespace of the first artifact d) both first contribution and the second contribution contain artifacts that could satisfy the dependencies of the first artifact |
Predicate |
the artifacts dependencies are resolved within the context of the first contribution |
Prescription Level |
Mandatory |
Tags |
“artifact” “resolution” “context” “contribution” |
Assertion ID |
ASM-TA-12036 |
Source |
[ASM12034] |
Target |
Property value of a domain level component |
Prerequisites |
a) property value is obtained from a domain level <property/> through use of the @source attribute b) value of domain level <property/> element is updated by means of deployment actions c) component is stopped and restarted after the domain level <property/> value has been updated |
Predicate |
Property value of the domain level component is the same as the new value of the domain level <property/> element |
Prescription Level |
Mandatory |
Tags |
"property" "value" "domain" "source" "update" |
Assertion ID |
ASM-TA-12037 |
Source |
[ASM12034] |
Target |
Property value of a domain level component |
Prerequisites |
a) property value is obtained from a domain level <property/> through use of the @source attribute b) value of domain level <property/> element is updated by means of deployment actions c) component is not stopped and restarted after the domain level <property/> value has been updated |
Predicate |
Property value of the domain level component is the same as the new value of the domain level <property/> element |
Prescription Level |
Optional |
Tags |
"property" "value" "domain" "source" "update" |
Assertion ID |
ASM-TA-12038 |
Source |
[ASM12034] |
Target |
Contribution containing artifacts |
Prerequisites |
a) Artifacts are all in installed state b) none of the artifacts in the Contribution are deployed or running c) one of the artifacts in the Contribution contains statically checkable errors |
Predicate |
The errors in the artifact are not reported and other deployed artifacts continue to run correctly |
Prescription Level |
Mandatory |
Tags |
"contribution" "artifacts" "error" "installed" |
Assertion ID |
ASM-TA-12039 |
Source |
[ASM12033] |
Target |
Contribution containing artifacts |
Prerequisites |
a) one of the artifacts in the Contribution contains statically checkable errors b) artifact containing errors is first deployed and then put into the running state |
Predicate |
SCA runtime raises an error and does not run the artifact that contains the error |
Prescription Level |
Mandatory |
Tags |
"artifacts" "errors" "deployed" "running" |
Assertion ID |
ASM-TA-14005 |
Source |
[ASM14005] |
Target |
SCA Domain and its contents |
Prerequisites |
The Domain or any of its contents are in error |
Predicate |
SCA runtime raises an error |
Prescription Level |
Mandatory |
Tags |
“domain” “contents” "error" |
Assertion ID |
ASM-TA-13001 |
Source |
[ASM13001] |
Target |
Composite file that violates one or more of the sca-core.xsd, sca-interface-wsdl.xsd, sca-implementation-composite.xsd and sca-binding-sca.xsd schemas. |
Prerequisites |
|
Predicate |
SCA runtime rejects the composite file and raises an error |
Prescription Level |
Mandatory |
Tags |
“composite” “schema” “error” |
Assertion ID |
ASM-TA-13002 |
Source |
[ASM13002] |
Target |
Contribution file that violates the sca-contribution.xsd schema. |
Prerequisites |
|
Predicate |
SCA runtime rejects the contribution file and raises an error |
Prescription Level |
Mandatory |
Tags |
“contribution” “schema” “error” |
Assertion ID |
ASM-TA-13003 |
Source |
[ASM13003] |
Target |
definitions file that does not conform to the sca-definitions.xsd schema |
Prerequisites |
|
Predicate |
SCA runtime rejects the definitions file and raises an error |
Prescription Level |
Mandatory |
Tags |
“composite” “schema” “error” |
This section contains a list of normative statements in the SCA Assembly specification and the corresponding Test Assertions.
Conformance statement |
Test Assertion |
ASM40001 |
Not testable |
ASM40003 |
ASM-TA-4002 |
ASM40004 |
ASM-TA-4003 |
ASM40005 |
ASM-TA-4004 |
ASM40006 |
ASM-TA-4005 |
ASM40007 |
ASM-TA-4006 |
ASM40008 |
ASM-TA-4007 |
ASM40009 |
ASM-TA-4008 |
ASM40010 |
ASM-TA-4009
|
ASM40011 |
ASM-TA-4011 |
ASM40012 |
ASM-TA-4012 |
Conformance statement |
Test Assertion |
ASM50001 |
ASM-TA-5005 |
ASM50002 |
ASM-TA-5001 |
ASM50003 |
ASM-TA-5002 |
ASM50004 |
ASM-TA-5006 |
ASM50005 |
ASM-TA-5007 |
ASM50006 |
ASM-TA-5043 |
ASM50007 |
ASM-TA-5003 |
ASM50008 |
ASM-TA-5004 |
ASM50009 |
ASM-TA-5010 |
ASM50010 |
ASM-TA-5014 |
ASM50011 |
ASM-TA-5016 |
ASM50012 |
ASM-TA-5017 |
ASM50013 |
ASM-TA-5019 ASM-TA-5020 |
ASM50014 |
ASM-TA-5021 |
ASM50015 |
ASM-TA-5024 |
ASM50016 |
Untestable (leave for Bindings specs) |
ASM50022 |
ASM-TA-5027 |
ASM50025 |
ASM-TA-5029 |
ASM50026 |
ASM-TA-5030 |
ASM50027 |
ASM-TA-5031 |
ASM50028 |
ASM-TA-5032 |
ASM50029 |
ASM-TA-5033 |
ASM50031 |
ASM-TA-5034 |
ASM50032 |
ASM-TA-5036 |
ASM50033 |
ASM-TA-5037 |
ASM50034 |
ASM-TA-5038 |
ASM50035 |
ASM-TA-5039 |
ASM50036 |
ASM-TA-5041 |
ASM50037 |
ASM-TA-5042 |
ASM50038 |
ASM-TA-5045 ASM-TA-5046 |
ASM50039 |
ASM-TA-5028 |
ASM50040 |
ASM-TA-5025 ASM-TA-5027 |
ASM50041 |
ASM-TA-5026 |
ASM50042 |
ASM-TA-5047 |
ASM50043 |
ASM-TA-5048 |
ASM50044 |
ASM-TA-5050 |
ASM50045 |
ASM-TA-5051 |
ASM50046 |
ASM-TA-5052 |
Conformance statement |
Test Assertion |
ASM60001 |
ASM-TA-6004 |
ASM60002 |
ASM-TA-6005 |
ASM60003 |
ASM-TA-6006 |
ASM60004 |
ASM-TA-6007 |
ASM60005 |
ASM-TA-6008 |
ASM60006 |
ASM-TA-6009 |
ASM60007 |
ASM-TA-6010 |
ASM60008 |
ASM-TA-6011 |
ASM60009 |
ASM-TA-6013 |
ASM60010 |
ASM-TA-6014 |
ASM60011 |
ASM-TA-6015 ASM-TA-6018 |
ASM60012 |
ASM-TA-6011 |
ASM60013 |
ASM-TA-6012 |
ASM60014 |
ASM-TA-6019 |
ASM60022 |
ASM-TA-6020 |
ASM60024 |
ASM-TA-6022 |
ASM60025 |
ASM-TA-6024 |
ASM60026 |
ASM-TA-6025 |
ASM60027 |
ASM-TA-6026 |
ASM60028 |
ASM-TA-6027 |
ASM60030 |
ASM-TA-6031 |
ASM60031 |
ASM-TA-6032 |
ASM60032 |
ASM-TA-6028 |
ASM60033 |
ASM-TA-6029 |
ASM60034 |
ASM-TA-6030 |
ASM60035 |
ASM-TA-6033 |
ASM60036 |
ASM-TA-6034 |
ASM60037 |
ASM-TA-6035 |
ASM60038 |
ASM-TA-6036 |
ASM60039 |
ASM-TA-6037 |
ASM60040 |
ASM-TA-6038 |
ASM60041 |
ASM-TA-6040 |
ASM60042 |
ASM-TA-6041 |
ASM60043 |
ASM-TA-6042 |
ASM60045 |
ASM-TA-6043 |
ASM60046 |
ASM-TA-6044 |
ASM60047 |
ASM-TA-6045 |
ASM60048 |
ASM-TA-6046 |
ASM60049 |
ASM-TA-6047 |
ASM60050 |
ASM-TA-6048 |
ASM60051 |
ASM-TA-6049 |
Conformance statement |
Test Assertion |
ASM80001 |
ASM-TA-8020 |
ASM80002 |
ASM-TA-8001 |
ASM80003 |
ASM-TA-8002 ASM-TA-8003 |
ASM80004 |
ASM-TA-8004 |
ASM80005 |
ASM-TA-8005 |
ASM80008 |
ASM-TA-8018 |
ASM80009 |
ASM-TA-8015 |
ASM80010 |
ASM-TA-8007 |
ASM80011 |
ASM-TA-8008 |
ASM80016 |
ASM-TA-8021 |
ASM80017 |
ASM-TA-8022 |
Conformance statement |
Test Assertion |
ASM90001 |
ASM-TA-9002 |
ASM90002 |
ASM-TA-9003 |
ASM90003 |
ASM-TA-9004 |
ASM90004 |
ASM-TA-9005 |
ASM90005 |
ASM-TA-9006 |
Conformance statement |
Test Assertion |
ASM10001 |
ASM-TA-10001 |
ASM10002 |
ASM-TA-10002 |
ASM00003 |
ASM-TA-10003 |
Conformance statement |
Test Assertion |
ASM11001 |
ASM-TA-11001 |
ASM11002 |
ASM-TA-11002 |
ASM11003 |
ASM-TA-11003 |
Conformance statement |
Test Assertion |
ASM12001 |
ASM-TA-12001 |
ASM12002 |
ASM-TA-12002 |
ASM12003 |
ASM-TA-12003 |
ASM12005 |
ASM-TA-12005 |
ASM12006 |
ASM-TA-12007 |
ASM12009 |
ASM-TA-12010 |
ASM12010 |
ASM-TA-12011 |
ASM12011 |
ASM-TA-12012 |
ASM12012 |
ASM-TA-12013 |
ASM12021 |
ASM-TA-12006 |
ASM12022 |
ASM-TA-12027 |
ASM12023 |
ASM-TA-12028 |
ASM12024 |
ASM-TA-12028 |
ASM12025 |
ASM-TA-12031 |
ASM12026 |
ASM-TA-12030 |
ASM12027 |
ASM-TA-12032 |
ASM12028 |
Untestable |
ASM12030 |
ASM-TA-12034 |
ASM12031 |
ASM-TA-12035 |
ASM12032 |
ASM-TA-12038 |
ASM12033 |
ASM-TA-12039 |
ASM12034 |
ASM-TA-12036 |
Conformance statement |
Test Assertion |
ASM13001 |
ASM-TA-13001 |
ASM13002 |
ASM-TA-13002 |
ASM13003 |
ASM-TA-13003 |
Conformance statement |
Test Assertion |
ASM14005 |
ASM-TA-14005 |
Test Assertion |
Test Cases |
ASM-TA-4002 |
ASM_4002_TestCase |
ASM-TA-4003 |
ASM_4003_TestCase |
ASM-TA-4004 |
ASM_4004_TestCase |
ASM-TA-4005 |
Untestable - no wiredByImpl implementation type available |
ASM-TA-4006 |
ASM_4005_TestCase |
ASM-TA-4007 |
ASM_4006_TestCase |
ASM-TA-4008 |
ASM_5002_TestCase |
ASM-TA-4009 |
ASM_4007_TestCase |
ASM-TA-4010 |
ASM_4007_TestCase |
ASM-TA-4011 |
|
ASM-TA-4012 |
Untestable since no implementation type is required to support @file attribute in componentType |
Test Assertion |
Test Cases |
ASM-TA-5001 |
ASM_5005_TestCase |
ASM-TA-5002 |
ASM_5006_TestCase |
ASM-TA-5003 |
ASM_5007_TestCase |
ASM-TA-5004 |
ASM_5008_TestCase |
ASM-TA-5005 |
ASM_5009_TestCase |
ASM-TA-5006 |
ASM_5010_TestCase |
ASM-TA-5007 |
ASM_5032_TestCase |
ASM-TA-5008 |
ASM_5033_TestCase |
ASM-TA-5009 |
ASM_5034_TestCase |
ASM-TA-5010 |
ASM_5011_TestCase |
ASM-TA-5011 |
|
ASM-TA-5012 |
ASM_5013_TestCase ASM_5014_TestCase |
ASM-TA-5013 |
ASM_5015_TestCase |
ASM-TA-5014 |
Untestable - wiredByImpl |
ASM-TA-5015 |
Untestable - wiredByImpl |
ASM-TA-5016 |
ASM_5016_TestCase |
ASM-TA-5017 |
ASM_5017_TestCase |
ASM-TA-5018 |
ASM_5018_TestCase |
ASM-TA-5019 |
Untestable - wiredByImpl |
ASM-TA-5020 |
Untestable - wiredByImpl |
ASM-TA-5021 |
ASM_5019_TestCase |
ASM-TA-5022 |
ASM_5020_TestCase |
ASM-TA-5023 |
ASM_5021_TestCase |
ASM-TA-5024 |
ASM_5018_TestCase |
ASM-TA-5025 |
ASM_5002_TestCase |
ASM-TA-5026 |
ASM_5003_TestCase |
ASM-TA-5027 |
ASM_5004_TestCase |
ASM-TA-5028 |
ASM_5022_TestCase |
ASM-TA-5029 |
ASM_5023_TestCase |
ASM-TA-5030 |
ASM_5024_TestCase |
ASM-TA-5031 |
ASM_5002_TestCase ASM_5038_TestCase |
ASM-TA-5032 |
ASM_5025_TestCase |
ASM-TA-5033 |
ASM_5026_TestCase |
ASM-TA-5034 |
ASM_5027_TestCase |
|
|
ASM-TA-5036 |
ASM_5029_TestCase |
ASM-TA-5037 |
ASM_5030_TestCase |
ASM-TA-5038 |
ASM_5031_TestCase |
ASM-TA-5039 |
ASM_5035_TestCase |
ASM-TA-5040 |
ASM_5035_TestCase |
ASM-TA-5041 |
ASM_5036_TestCase |
ASM-TA-5042 |
ASM_5037_TestCase |
ASM-TA-5043 |
Requires multiple bindings - leave to Bindings TC to devise a test |
ASM-TA-5045 |
ASM_5039_TestCase |
ASM-TA-5046 |
ASM_5025_TestCase |
ASM-TA-5047 |
ASM_5040_TestCase |
ASM-TA-5048 |
ASM_5041_TestCase |
ASM-TA-5049 |
ASM_5042_TestCase |
ASM-TA-5050 |
Untestable |
ASM-TA-5051 |
ASM_5043_TestCase |
ASM-TA-5052 |
ASM_5043_TestCase |
ASM-TA-5053 |
ASM_5044_TestCase |
Test Assertion |
Test Cases |
ASM-TA-6001 |
Untestable - interfaces compatible |
ASM-TA-6002 |
Untestable - interfaces - compatible superset |
ASM-TA-6003 |
Untestable - interfaces - compatible subset |
ASM-TA-6004 |
ASM_6001_TestCase |
ASM-TA-6005 |
Untestable - tests that components run local to each other - must be left to an implementation type that supports this capability |
ASM-TA-6006 |
ASM_6002_TestCase |
ASM-TA-6007 |
ASM_6003_TestCase |
ASM-TA-6008 |
ASM_6004_TestCase |
ASM-TA-6009 |
ASM_6005_TestCase |
ASM-TA-6010 |
ASM_6006_TestCase |
ASM-TA-6011 |
|
ASM-TA-6012 |
ASM_6008_TestCase |
ASM-TA-6013 |
ASM_6031_TestCase |
ASM-TA-6014 |
ASM_6032_TestCase |
ASM-TA-6015 |
ASM_6009_TestCase |
ASM-TA-6016 |
ASM_6033_TestCase |
ASM-TA-6017 |
ASM_6010_TestCase |
ASM-TA-6018 |
ASM_6011_TestCase |
ASM-TA-6019 |
ASM_6012_TestCase |
ASM-TA-6020 |
ASM_6013_TestCase |
ASM-TA-6021 |
ASM_6014_TestCase |
ASM-TA-6022 |
Untestable due to lack of mandatory support for Intents |
ASM-TA-6023 |
ASM_6016_TestCase |
ASM-TA-6024 |
ASM_6017_TestCase |
ASM-TA-6025 |
ASM_6018_TestCase |
ASM-TA-6026 |
ASM_6019_TestCase |
ASM-TA-6027 |
ASM_6020_TestCase |
ASM-TA-6028 |
ASM_6021_TestCase |
ASM-TA-6029 |
ASM_6022_TestCase |
ASM-TA-6030 |
ASM_6023_TestCase |
ASM-TA-6031 |
ASM_6024_TestCase |
ASM-TA-6032 |
ASM_6025_TestCase |
ASM-TA-6033 |
Untestable - no wiredByImpl implementation |
ASM-TA-6034 |
Untestable - no wiredByImpl implementation |
ASM-TA-6035 |
ASM_6026_TestCase |
ASM-TA-6036 |
ASM_6026_TestCase |
ASM-TA-6037 |
ASM_6027_TestCase |
ASM-TA-6038 |
ASM_6028_TestCase |
ASM-TA-6039 |
ASM_6028_TestCase |
ASM-TA-6040 |
ASM_6029_TestCase |
ASM-TA-6041 |
ASM_6030_TestCase |
ASM-TA-6042 |
ASM_6034_TestCase |
ASM-TA-6043 |
Tests the introspection of componentType for a composite. No specific testcase for this, since almost all the tests in the test suite depend on this introspection and as a result it is heavily tested. |
ASM-TA-6044 |
ASM_6035_TestCase |
ASM-TA-6045 |
ASM_6036_TestCase |
ASM-TA-6046 |
ASM_6037_TestCase |
ASM-TA-6047 |
ASM_6038_TestCase |
ASM-TA-6048 |
ASM_6039_TestCase |
ASM-TA-6049 |
ASM_6040_TestCase |
Test Assertion |
Test Cases |
ASM-TA-8001 |
Language Dependent |
ASM-TA-8002 |
ASM_8002_TestCase |
ASM-TA-8003 |
Untestable |
ASM-TA-8004 |
ASM_8003_TestCase |
ASM-TA-8005 |
Language Dependent |
ASM-TA-8006 |
Language Dependent |
ASM-TA-8007 |
ASM_8003_TestCase |
ASM-TA-8008 |
ASM_8006_TestCase |
ASM-TA-8009 |
ASM_8007_TestCase |
ASM-TA-8010 |
ASM_8008_TestCase |
ASM-TA-8011 |
|
ASM-TA-8012 |
|
ASM-TA-8013 |
ASM_8011_TestCase |
ASM-TA-8014 |
ASM_8012_TestCase |
ASM-TA-8015 |
ASM_8013_TestCase |
ASM-TA-8018 |
ASM_8014_TestCase |
ASM-TA-8020 |
ASM_8015_TestCase |
ASM-TA-8021 |
ASM_8016_TestCase |
ASM-TA-8022 |
ASM_8019_TestCase |
Test Assertion |
Test Cases |
ASM-TA-9002 |
ASM_9001_TestCase |
ASM-TA-9003 |
ASM_9002_TestCase |
ASM-TA-9004 |
ASM_9003_TestCase |
ASM-TA-9005 |
ASM_9004_TestCase |
ASM-TA-9006 |
ASM_9005_TestCase |
Test Assertion |
Test Cases |
ASM-TA-10001 |
ASM_10001_TestCase |
ASM-TA-10002 |
ASM_10002_TestCase |
ASM-TA-10003 |
ASM_10003_TestCase |
Test Assertion |
Test Cases |
ASM-TA-11001 |
Depend on a specific implmentation extension type or extension binding type - leave tests for test suite for the implementation / binding type |
ASM-TA-11002 |
|
ASM-TA-11003 |
Test Assertion |
Test Cases |
ASM-TA-12001 |
Untestable, since it is about contribution packaging types and only 1 is required to be supported. |
ASM-TA-12002 |
Many testcases are based on the existence of a META-INF directory in one or more contributions. |
ASM-TA-12003 |
Untestable due to there being no formal deployment API that can assure that "runnable composites" are actually run when deployed. |
ASM-TA-12005 |
ASM_12002_TestCase |
ASM-TA-12006 |
ASM_12003_TestCase |
ASM-TA-12007 |
ASM_12004_TestCase |
ASM-TA-12010 |
ASM_12005_TestCase |
ASM-TA-12011 |
ASM_12002_TestCase |
ASM-TA-12012 |
ASM_12003_TestCase |
ASM-TA-12013 |
ASM_12006_TestCase |
ASM-TA-12027 |
ASM_12007_TestCase |
ASM-TA-12028 |
ASM_12008_TestCase |
ASM-TA-12029 |
ASM_12009_TestCase |
ASM-TA-12030 |
ASM_12010_TestCase |
ASM-TA-12031 |
ASM_12011_TestCase |
ASM-TA-12032 |
ASM_12012_TestCase |
ASM-TA-12034 |
Untestable |
ASM-TA-12035 |
ASM_12013_TestCase |
ASM-TA-12036 |
Untestable due to lack of Domain update API |
ASM-TA-12037 |
Untestable due to lack of Domain update API |
ASM-TA-12038 |
Untestable due to lack of deployment API |
ASM-TA-12039 |
Tested by many other tests that contain artifacts in error |
Test Assertion |
Test Cases |
ASM-TA-13001 |
ASM_13001_TestCase ASM_13002_TestCase ASM_13003_TestCase ASM_13004_TestCase ASM_13005_TestCase ASM_13006_TestCase ASM_13007_TestCase ASM_13008_TestCase |
ASM-TA-13002 |
ASM_12012_TestCase |
ASM-TA-13003 |
ASM_10003_TestCase |
Test Assertion |
Test Cases |
ASM-TA-14005 |
No specific testcase required since various negaitive tests depend on the runtime raising an error when artifacts are in error. |
The following individuals have participated in the creation of this specification and are gratefully acknowledged
Participants:
Participant Name |
Affiliation |
Bryan Aupperle |
IBM |
Vladislav Bezrukov |
SAP AG* |
David Booz |
IBM |
Martin Chapman |
Oracle Corporation |
Vamsavardhana Reddy Chillakuru |
IBM |
Mark Combellack |
Avaya, Inc. |
Mike Edwards |
IBM |
Anish Karmarkar |
Oracle Corporation |
Ashok Malhotra |
Oracle Corporation |
Plamen Pavlov |
SAP AG* |
Eric Wells |
Hitachi, Ltd. |
Revision |
Date |
Editor |
Changes Made |
17 |
2009-04-15 |
Mike Edwards |
Section 4 testcases added |
18 |
2009-04-16 |
Mike Edwards |
Section 7 testcases added Tables of Artifacts added |
19 |
05/04/09 |
Mike Edwards |
Section 8, 9, 10 testcases added |
20 |
05/06/09 |
Mike Edwards |
Section 12 testcases added |
21 |
05/06/09 |
Mike Edwards |
Section 13, 14 testcases added. All sections now covered. |
22 |
05/19/09 |
Mike Edwards |
Most testcases converted to WSDL interfaces |
23 |
06/02/09 |
Mike Edwards |
Added Acknowledgements Added missing descriptions of artifacts Added extra testcases to cover previously untreated Test Assertions |
24 |
06/10/09 |
Mike Edwards |
Added ASM_7010_TestCase Added ASM_8017_TestCase Added ASM_8018_TestCase Added ASM_8019_TestCase Added Namespace and Package Name declarations |
25 |
06/16/09 |
Mike Edwards |
CD01 / Public Review draft 01 All changes accepted, file name changed to match OASIS guidelines. |
cd01_rev1 |
03/08/10 |
Mike Edwards |
Issue 205 - deleted ASM_12001_TestCase Issue 165 - descriptions of ASM_8009_TestCase and ASM_8018_TestCase updated Issue 150 - marked ASM_8004_TestCase as language specific and removed from Assembly test suite (given to Java TC for their test suite) |
cd01_rev2 |
03/10/10 |
Mike Edwards |
Issue 172 - Added new testcase ASM_5038 and associated artifacts |
cd01_rev3 |
04/12/10 |
Mike Edwards |
Issue 159 - Testcases deleted, added and reassigned to align with latest CD of the Assembly specification Issue 154 Issue 155 Issue 161 Issue 162 Issue 163 Issue 164 Issue 165 Issue 166 Issue 167 Issue 168 Issue 169 Issue 170 Issue 171 Issue 172 - Added new testcase ASM_5038_TestCase Issue 173 Issue 174 Issue 184 Issue 185 Issue 186 Issue 190 Issue 191 Issue 193 Issue 196 Issue 197 Issue 198 Issue 199 Issue 202 Issue 205 Issue 207 Issue 208 Issue 209 Issue 216 Issue 219 Issue 226 |
cd01-Rev4 |
04/19/10 |
Mike Edwards |
Issue 220 - Remove testcase ASM_6015 and associated artifacts (TestComposite29) Issue 224 |
cd01-Rev5 |
05/18/10 |
Mike Edwards |
Issue 206 Issue 230 |
cd01-rev6 |
06/08/10 |
Bryan Aupperle |
Editorial fixes to front matter including links and references |
cd02 |
06/08/10 |
Mike Edwards |
Create CD02 All changes accepted |
cd02-rev1 |
07/20/10 |
Mike Edwards |
Issue 236 - added testcases:
ASM_5043_TestCase |
cd02-rev2 |
08/10/10 |
Bryan Aupperle |
Issue 150 - removed testcases:
ASM_8001_TestCase |
cd03 |
10/08/10 |
Bryan Aupperle |
Create CD03 All changes accepted |
wd031 |
05/23/11 |
Mike Edwards |
1) Include the TestAssertions main body as a new Appendix A 2) New Appendix B is the mapping from Normative Statements to TestAssertions from the TestAssertions document 3) New Appendix C is the mapping from TestAssertions to TestCases moved from Section 3 of the TestCases document - old section 3 is removed 4) Removed the reference to the Test Assertions document from section 1.4 5) Add a reference to the SCA Assembly spec in section 1.4 Add a reference to the Test Assertions Guidelines specification. 6) Modify section 1 to reference the new Appendix A 7) Remove Normative statements no longer in CSD08 specification: 8) Added Conformance statements in Section 4 |
wd032 |
05/25/11 |
Mike Edwards |
1) Renumbered testcase section identifiers to match the Assembly spec 2) Renumbered Test Assertion section headers to match Assembly spec 3) Removed test assertions:
ASM-TA-14001
ASM-TA-12008 4) Added test assertions
ASM-TA-11001 |
wd033 |
06/07/11 |
Mike Edwards |
1) Removed ASM-TA-12033 since ASM12029 has been removed from the Assembly spec 2) Corrected relationship of ASM-TA-5007 ASM-TA-5008, ASM-TA-5009 to ASM50005 normative statement 3) Added cross reference table entries for ASM-TA-12036, ASM-TA-12037, ASM-TA-12038, ASM-TA-12039 4) Cleaned the Cross Reference tables to ensure that all entries are present and correct. |
wd044 |
06/14/11 |
Mike Edwards |
All changes accepted - clean copy |
sca-assembly-1.1-testcases-csprd03 21 June 2011
Standards
Track Work Product Copyright ©
OASIS 2011. All Rights Reserved. Page