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:

Related work:

This specification is related to:

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





1Introduction

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”.

1.1TestCase Structure

The SCA Assembly testcases follow a standard structure. They are divided into two main parts:

  1. Test Client, which drives the test and checks that the results are as expected

  2. 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.

Test Client

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:

  1. metadata identifying the Test Application in terms of the SCA Contributions that are used and the Composites that must be deployed and run

  2. 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.

Test Application

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:

The testcases are designed so that the range of implementation types can be expanded

Test Artifacts Organization

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:

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.

Replaceable Values for SCA Artifacts

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.

1.2Namespaces and Java Package Names

The SCA Assembly testcase suite makes use of some XML namespaces and Java package names, as follows:

SCA Artifact Namespaces

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

WSDL Namespace

http://test.sca.oasisopen.org/

Java Package name

For Java interface classes and for Java implementation classes

org.oasisopen.sca.test

1.3Terminology

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]

1.4Normative References

[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

1.5Non_Normative References

N/A

2TestCases

2.1Section 3

ASM_4002_TestCase



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”

ASM_4003_TestCase



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”

ASM_4004_TestCase



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”



ASM_4005_TestCase



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 ”



ASM_4006_TestCase



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 ”



ASM_4007_TestCase



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”



ASM_4008_TestCase



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”



2.2Section 4

ASM_5002_TestCase


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”



ASM_5003_TestCase



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”



ASM_5004_TestCase



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”



ASM_5005_TestCase



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”



ASM_5006_TestCase



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”



ASM_5007_TestCase



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”







ASM_5008_TestCase



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”





ASM_5009_TestCase



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”



ASM_5010_TestCase



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”





ASM_5011_TestCase



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”



ASM_5012_TestCase



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”





ASM_5013_TestCase



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”





ASM_5014_TestCase



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”





ASM_5015_TestCase



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”





ASM_5016_TestCase



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”





ASM_5017_TestCase



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”



ASM_5018_TestCase



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”



ASM_5019_TestCase



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”



ASM_5020_TestCase



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”







ASM_5021_TestCase



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”





ASM_5022_TestCase



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”





ASM_5023_TestCase



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”





ASM_5024_TestCase



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”





ASM_5025_TestCase



Testcase ID

ASM_5025_TestCase

Test Assertion

ASM-TA-5032

ASM-TA-5046

Description

Tests that where a <component/> <property/> has its value set by means of a child <value/> element, that the type of the <value/> element matches the type declared for the <property/> element

Artifacts

ASM_5025_TestCase.java

Test_ASM_5025.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite12.composite

ASM_0002_Client.java

Service1.wsdl

Expected output

Positive test:

ASM_5025 request service1 operation1 invokedcomplex1complex2”





ASM_5026_TestCase



Testcase ID

ASM_5026_TestCase

Test Assertion

ASM-TA-5033

Description

Tests that where a <component/> <property/> has its value set by means of a child element that is NOT a <value/> element, that a) the type of the <property/> element is declared as an XML Schema global element by its @element attribute and that the child element is an instance of that global element

Artifacts

ASM_5026_TestCase.java

Test_ASM_5026.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite13.composite

Service1.wsdl

Expected output

Positive test:

ASM_5026 request service1 operation1 invokedcomplex1complex2”



ASM_5027_TestCase



Testcase ID

ASM_5027_TestCase

Test Assertion

ASM-TA-5034

Description

Tests that where a <component/> has 2 or more <property/> child elements that each <property/> element has a unique @name attribute value

Artifacts

ASM_5027_TestCase.java

Test_ASM_5027.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite1.composite

Service1.wsdl

Expected output

Negative test:

exception




ASM_5029_TestCase



Testcase ID

ASM_5029_TestCase

Test Assertion

ASM-TA-5036

Description

Tests that where a <component/> <property/> has @many=false that there is only one <value/> child element of the <property/>

Artifacts

ASM_5029_TestCase.java

Test_ASM_5029.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite12.composite

Service1.wsdl

Test_Types.xsd

Expected output

Negative test:

exception





ASM_5030_TestCase



Testcase ID

ASM_5030_TestCase

Test Assertion

ASM-TA-5037

Description

Tests that a <component/> <property/> with a @value attribute set does not have any <value/> child elements

Artifacts

ASM_5030_TestCase.java

Test_ASM_5030.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite14.composite

Service1.wsdl

Expected output

Negative test:

exception



ASM_5031_TestCase



Testcase ID

ASM_5031_TestCase

Test Assertion

ASM-TA-5038

Description

Tests that where a <component/> <reference/> has its @target attribute set to a valid service and the <composite/> also contains a <wire/> element with @source set to the <component/> <reference/> and @target set to a second valid service and has @replace=true, the <reference/> is wired to the second service only

Artifacts

ASM_5031_TestCase.java

Test_ASM_5031.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite1.composite

TestComposite4.composite

Service1.wsdl

Expected output

Positive test:

"ASM_0031 request service1 operation1 invoked service3 operation1 invoked"



ASM_5032_TestCase



Testcase ID

ASM_5032_TestCase

Test Assertion

ASM-TA-5007

Description

Tests that where a <component/> <service/> has no <binding/> subelements and the corresponding <service/> element of the <componentType/> of the <component/> <implementation/> has one or more <binding/> subelements, the <component/> <service/> is made available with all the bindings declared on the <service/> element of the <componentType/>

Artifacts

ASM_5032_TestCase.java

Test_ASM_5032.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite6.composite

TestComposite15.composite

Service1.wsdl

sca-variables.dtd

Expected output

Positive test:

ASM_5032 request service1 operation1 invokedservice2 operation1 invokedservice2 operation1 invoked”







ASM_5033_TestCase



Testcase ID

ASM_5033_TestCase

Test Assertion

ASM-TA-5008

Description

Tests that where a <component/> <service/> has no <binding/> subelements and the corresponding <service/> element of the <componentType/> of the <component/> <implementation/> has no <binding/> subelements, the <component/> <service/> is made available with binding.sca

Artifacts

ASM_5033_TestCase.java

Test_ASM_5033.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite6.composite

TestComposite1.composite

Service1.wsdl

Expected output

Positive test:

ASM_5033 request service1 operation1 invokedservice2 operation1 invokedservice2 operation1 invoked”







ASM_5034_TestCase



Testcase ID

ASM_5034_TestCase

Test Assertion

ASM-TA-5009

Description

Tests that where a <component/> <service/> has 1 or more <binding/> subelements the <component/> <service/> is made available with all the bindings declared on the <service/> element

Artifacts

ASM_5034_TestCase.java

Test_ASM_5034.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite6.composite

TestComposite1.composite

Service1.wsdl

sca-variables.dtd

Expected output

Positive test:

ASM_5034 request service1 operation1 invokedservice2 operation1 invokedservice2 operation1 invoked”



ASM_5035_TestCase



Testcase ID

ASM_5035_TestCase

Test Assertion

ASM-TA-5039

ASM-TA-5040

Description

Tests that where a <component/> <property/> element has a @type attribute declared it does not also have a @element attribute declared

Artifacts

ASM_5035_TestCase.java

Test_ASM_5035.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite12.composite

Service1.wsdl

Expected output

Negative test:

exception”



ASM_5036_TestCase



Testcase ID

ASM_5036_TestCase

Test Assertion

ASM-TA-5041

ASM-TA-5046

Description

Tests that where a <component/> <property/> has a type declared, the declared type is the same type as the declared type for the corresponding <property/> element in the componentType of the <implementation/> subelement of the <component/>

Artifacts

ASM_5036_TestCase.java

Test_ASM_5036.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite12.composite

Service1.wsdl

Expected output

Negative test:

exception”



ASM_5037_TestCase



Testcase ID

ASM_5037_TestCase

Test Assertion

ASM-TA-5042

Description

Tests that a <component/> <property/> has an @name attribute value that matches the @name attribute value of one of the <property/> elements in the componentType of the <implementation/> subelement of the <component/>

Artifacts

ASM_5037_TestCase.java

Test_ASM_5037.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite12.composite

Service1.wsdl

Expected output

Negative test:

exception"



ASM_5038_TestCase



Testcase ID

ASM_5038_TestCase

Test Assertion

ASM-TA-5031

Description

Tests that where a <component/> <property/> element has an XML schema simple type and has a @value attribute declared, that the @value attribute value contains a single value with a type matching the type of the <property/> element

Artifacts

ASM_5038_TestCase.java

Test_ASM_5038.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite73.composite

Service1.wsdl

Expected output

Negative test:

exception"



ASM_5039_TestCase



Testcase ID

ASM_5039_TestCase

Test Assertion

ASM-TA-5045

Description

Tests that where a property element of a component declares a type and has a @source attribute that gets the value of the property from a composite <property/> element, that the type of the component property is compatible with the type of the composite property

Artifacts

ASM_5039_TestCase.java

Test_ASM_5039.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite12.composite

TestComposite71.composite

Service1.wsdl

Expected output

Negative test:

exception"



ASM_5040_TestCase



Testcase ID

ASM_5040_TestCase

Test Assertion

ASM-TA-5047

Description

Tests that where a component <reference/> of multiplicity 1..1 has @nonOverridable="true", that the reference is not promoted by a composite reference

Artifacts

ASM_5040_TestCase.java

Test_ASM_5040.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite74.composite

Service1.wsdl

Expected output

Negative test:

exception"



ASM_5041_TestCase



Testcase ID

ASM_5041_TestCase

Test Assertion

ASM-TA-5048

Description

Tests that where a component <reference/> has no @autowire attribute, no @target attribute, no <binding/> subelement and is not promoted by a composite reference, and where the component declares @autowire="true" and where the composite containing the component contains one target service that is compatible with the reference, that the reference is wired to that target service and can invoke the service

Artifacts

ASM_5041_TestCase.java

Test_ASM_5041.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite8.composite

TestComposite1.composite

Service1.wsdl

Expected output

Positive test:

"ASM_5041 request service1 operation1 invoked second operation1 invoked"



ASM_5042_TestCase



Testcase ID

ASM_5042_TestCase

Test Assertion

ASM-TA-5049

Description

Tests that where a component <reference/> has no @autowire attribute, no @target attribute, no <binding/> subelement and is not promoted by a composite reference, and where the component does not declare an @autowire attribute but the composite containing the component declares @autowire="true" and where the composite containing the component contains one target service that is compatible with the reference, that the reference is wired to that target service and can invoke the service

Artifacts

ASM_5042_TestCase.java

Test_ASM_5042.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite8.composite

TestComposite1.composite

Service1.wsdl

Expected output

Positive test:

"ASM_5042 request service1 operation1 invoked second operation1 invoked"



ASM_5043_TestCase



Testcase ID

ASM_5043_TestCase

Test Assertion

ASM-TA-5051
ASM-TA-5052

Description

Tests that where a component <property/> element which is single valued and with a simple XML type has a @file attribute which references a file tat has one <sca:values/> element containing one <sca:value/> element containing a string value, that the value from the file does set the property value used by the component

Artifacts

ASM_5043_TestCase.java

Test_ASM_5043.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite71.composite

simpleProperty.xml (in contribution "General")

Expected output

Positive test:

"ASM_5043 request service1 operation1 invoked 2.71828 2.71828"



ASM_5044_TestCase



Testcase ID

ASM_5044_TestCase

Test Assertion

ASM-TA-5051
ASM-TA-5053

Description

Tests that where a component <property/> element which is multi valued and with a complex XML type has a @file attribute which references a file tat has one <sca:values/> element containing two global elements of the type of the property, that the values from the global elements do set the property values used by the component

Artifacts

ASM_5044_TestCase.java

Test_ASM_5044.composite

TestInvocation.wsdl

TestClient_0002.composite

TestComposite76.composite

TestComposite71.composite

Expected output

Positive test:

"ASM_5044 request service1 operation1 invoked Sample first data Alternate second data"



2.3Section 5

ASM_6001_TestCase



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”





ASM_6002_TestCase



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”





ASM_6003_TestCase



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”



ASM_6004_TestCase



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"



ASM_6005_TestCase



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"



ASM_6006_TestCase



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"





ASM_6007_TestCase



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"



ASM_6008_TestCase


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"



ASM_6009_TestCase



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"



ASM_6010_TestCase



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"





ASM_6011_TestCase



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"





ASM_6012_TestCase



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"





ASM_6013_TestCase



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"





ASM_6014_TestCase



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"






ASM_6016_TestCase



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"





ASM_6017_TestCase



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"





ASM_6018_TestCase



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"



ASM_6019_TestCase



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"



ASM_6020_TestCase



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"



ASM_6021_TestCase



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"





ASM_6022_TestCase



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"



ASM_6023_TestCase



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"



ASM_6024_TestCase



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"



ASM_6025_TestCase



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"



ASM_6026_TestCase



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"



ASM_6027_TestCase



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"



ASM_6028_TestCase



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"



ASM_6029_TestCase



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"



ASM_6030_TestCase



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"



ASM_6031_TestCase



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"



ASM_6032_TestCase



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"



ASM_6033_TestCase



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"



ASM_6034_TestCase



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"



ASM_6035_TestCase



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"



ASM_6036_TestCase



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"



ASM_6037_TestCase



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"



ASM_6038_TestCase



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"



ASM_6039_TestCase



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"



ASM_6040_TestCase



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"



2.4

2.5Section 6

ASM_8002_TestCase



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"



ASM_8003_TestCase



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"



ASM_8006_TestCase



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"



ASM_8007_TestCase



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"



ASM_8008_TestCase



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"



ASM_8009_TestCase



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"



ASM_8010_TestCase



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"



ASM_8011_TestCase



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"



ASM_8012_TestCase



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"



ASM_8013_TestCase



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"



ASM_8014_TestCase



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"



ASM_8015_TestCase



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"



ASM_8016_TestCase



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"



ASM_8017_TestCase



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"



ASM_8018_TestCase



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"


ASM_8019_TestCase



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"



2.6Section 7

ASM_9001_TestCase



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"



ASM_9002_TestCase



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"



ASM_9003_TestCase



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"



ASM_9004_TestCase



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"



ASM_9005_TestCase



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"



2.7Section 8

ASM_10001_TestCase



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"



ASM_10002_TestCase



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"



ASM_10003_TestCase



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"



2.8Section 10


ASM_12002_TestCase



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"



ASM_12003_TestCase



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"



ASM_12004_TestCase



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"



ASM_12005_TestCase



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"



ASM_12006_TestCase



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"



ASM_12007_TestCase



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"



ASM_12008_TestCase



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"



ASM_12009_TestCase



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"



ASM_12010_TestCase



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"



ASM_12011_TestCase



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"



ASM_12012_TestCase



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"



ASM_12013_TestCase



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"



2.9Section 11

No testcases

2.10Section 12

ASM_13001_TestCase



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"



ASM_13002_TestCase



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"



ASM_13003_TestCase



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"



ASM_13004_TestCase



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"



ASM_13005_TestCase



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"



ASM_13006_TestCase



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"



ASM_13007_TestCase



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"



ASM_13008_TestCase



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"



3Catalog of Test Artifacts



3.1Composite Files - lower level

Name

Valid

Description

Marked "Impl Specific" if it is implementation type specific

 

Services and References use interface Service1 unless described otherwise

TestComposite1.composite

"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
Callback interface of composite reference is not compatible with callback interface of promoted component reference

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



3.2Java Interfaces



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

3.3Java Implementation Classes



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)

3.4WSDL Interface Files



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



4Conformance

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'.

  1. Test Assertions for the SCA Assembly Model

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].

    1. Example Test Assertion

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.



    1. Test Assertions for SCA Assembly Specification Section 3



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”



    1. Test Assertions for SCA Assembly Specification Section 4



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"



    1. Test Assertions for SCA Assembly Specification Section 5



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

  1. (InterfaceA is remotable AND InterfaceB is remotable) OR (InterfaceA is local AND InterfaceB is local)

  2. The number of operations and each of their names is the same in InterfaceA and 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

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"



    1. Test Assertions for SCA Assembly Specification Section 6



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”



    1. Test Assertions for SCA Assembly Specification Section 7



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

  1. The @uri attribute is the componentName/serviceName of a wire to an endpoint within the SCA Domain.

OR

  1. The @uri attribute is the address of an endpoint to an accessible service inside or outside the SCA Domain, using the addressing scheme determined by the binding type

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”



    1. Test Assertions for SCA Assembly Specification Section 8



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”



    1. Test Assertions for SCA Assembly Specification Section 9





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"



    1. Test Assertions for SCA Assembly Specification Section 10



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
2) SCA Domain contains one <component/> <service/> that is compatible with the <component/> <reference/>

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
2) SCA runtime only evaluates autowire targets when a component is deployed
3) SCA Domain contains one <component/> <service/> that is compatible with the <component/> <reference/>, when the <component/> <reference/> is deployed
4) An additional <component/> <service/> compatible with the <component/> <reference/> s deployed to the SCA Domain, later than the time when the <component/> <reference/> is deployed.

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
2) SCA runtime re-evaluates autowire targets when the Domain configuration is updated by deployment actions
3) SCA Domain contains one <component/> <service/> that is compatible with the <component/> <reference/>, when the <component/> <reference/> is deployed
4) An additional <component/> <service/> compatible with the <component/> <reference/> s deployed to the SCA Domain, later than the time when the <component/> <reference/> is deployed.
5) <reference/> has multiplicity 0..n

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
2) New <wire/> element is deployed to the SCA Domain, with @source set to the <component/> <reference/> and @source set to a <component/> <service/> which is compatible with the <component/> <reference/>

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"



    1. Test Assertions for SCA Assembly Specification Section 11



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"



    1. Test Assertions for SCA Assembly Specification Section 12



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”



  1. Cross Mapping of Normative Statements to Test Assertions

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
ASM-TA-4010

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
ASM-TA-8009
ASM-TA-8011

ASM50005

ASM-TA-5007
ASM-TA-5008
ASM-TA-5009

ASM50006

ASM-TA-5043

ASM50007

ASM-TA-5003

ASM50008

ASM-TA-5004

ASM50009

ASM-TA-5010
ASM-TA-5011
ASM-TA-5012
ASM-TA-5013

ASM50010

ASM-TA-5014
ASM-TA-5015

ASM50011

ASM-TA-5016
ASM-TA-8010
ASM-TA-8011

ASM50012

ASM-TA-5017
ASM-TA-5018

ASM50013

ASM-TA-5019

ASM-TA-5020

ASM50014

ASM-TA-5021
ASM-TA-5022
ASM-TA-5023

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
ASM-TA-5040

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
ASM-TA-5049

ASM50044

ASM-TA-5050

ASM50045

ASM-TA-5051

ASM50046

ASM-TA-5052
ASM-TA-5053





Conformance statement

Test Assertion

ASM60001

ASM-TA-6004

ASM60002

ASM-TA-6005

ASM60003

ASM-TA-6006

ASM60004

ASM-TA-6007

ASM60005

ASM-TA-6008
ASM-TA-8012
ASM-TA-8014

ASM60006

ASM-TA-6009

ASM60007

ASM-TA-6010

ASM60008

ASM-TA-6011
ASM-TA-6012

ASM60009

ASM-TA-6013

ASM60010

ASM-TA-6014

ASM60011

ASM-TA-6015
ASM-TA-6016
ASM-TA-6017

ASM-TA-6018

ASM60012

ASM-TA-6011
ASM-TA-8013
ASM-TA-8014

ASM60013

ASM-TA-6012

ASM60014

ASM-TA-6019

ASM60022

ASM-TA-6020
ASM-TA-6021

ASM60024

ASM-TA-6022
ASM-TA-6023

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
ASM-TA-6039

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
ASM-TA-8006

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
ASM-TA-12029

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
ASM-TA-12037





Conformance statement

Test Assertion

ASM13001

ASM-TA-13001

ASM13002

ASM-TA-13002

ASM13003

ASM-TA-13003





Conformance statement

Test Assertion

ASM14005

ASM-TA-14005

  1. Cross Mapping of Test Assertions to TestCases



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_4008_TestCase

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_5012_TestCase

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_5036_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_5044_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_6007_TestCase

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_8009_TestCase
ASM_8018_TestCase

ASM-TA-8012

ASM_8010_TestCase

ASM-TA-8013

ASM_8011_TestCase

ASM-TA-8014

ASM_8012_TestCase
ASM_8017_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.

  1. Acknowledgments

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.



  1. Revision History



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
ASM_5044_TestCase

cd02-rev2

08/10/10

Bryan Aupperle

Issue 150 - removed testcases:

ASM_8001_TestCase
ASM_8005_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-14002
ASM-TA-14003
ASM-TA-14004

ASM-TA-12008
ASM-TA-12009
ASM-TA-12014
ASM-TA-12015
ASM-TA-12016
ASM-TA-12017
ASM-TA-12018
ASM-TA-12019
ASM-TA-12020
ASM-TA-12021
ASM-TA-12022
ASM-TA-12023
ASM-TA-12024
ASM-TA-12025
ASM-TA-12026
ASM-TA-12033

4) Added test assertions

ASM-TA-11001
ASM-TA-11002
ASM-TA-11003
ASM-TA-14005

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 1 of 170