← Prev in month ← Prev in thread
Next in thread → Next in month →

[NEW ISSUE] Problems with Assembly TestSuite Artifacts for ASM_9999, ASM_12003, ASM_12004, ASM_12005, ASM_12011and Contribution2 contribution

From
Mike Edwards <>
Date
2009-11-10T10:05:47+00:00
ID
Thread
[NEW ISSUE] Problems with Assembly TestSuite Artifacts for ASM_9999, ASM_12003, ASM_12004, ASM_12005, ASM_12011and Contribution2 contribution
Target:        
       SCA Assembly Test Suite

Description:

1) ASM_12005_TestCase fails

Gives an error indicating that the service
interface of TestComponent1 in TestComposite5 from contribution Contribution1

is not compatible with the interface
of the implementation of that component (TestComposite5 from contribution
General_xxxx).

This error is "correct" in
that the service interface is "Service1" in the using composite
and it is "Service2" in the implementation

composite, and these interfaces are
incompatible.

2) ASM_9999_TestCase is spurious

There is an ASM_9999_TestCase in the
OASIS repository.  This is not a testcase described in the TestSuite
documentation.

3) TestComposite5.composite in contribution
ASM_12008 is in error

TestComposite5.composite has a namespace
prefix test: which has no namespace declaration in the <composite/>
element

resulting in an XML validation error.

4) ASM_12003_TestCase fails

This testcase is meant to detect a failure
in the @schemaLocation attribute schema resolution mechanism, but actually

the testcase runs without an error,
when it should give an exception.

the fundamental problems with the OASIS
test artifacts are these: 

1) As written, Test_ASM_12003.composite
is intended to use Service1b.wsdl, which are both contained in the ASM_12003
contribution.

 However, Test_ASM_12003.composite
refers only to interfaces that are in the http://test.sca.oasisopen.org
namespace and that is 

imported by the ASM_12003 contribution
(actually resolves to the General contribution) 

2) Service1b.wsdl is declared in http://test.sca.oasisopen.org/,
but this namespace is well resolved by SCA means 

5) ASM_12004_TestCase no longer useful

This testcase was designed to check
if an SCA runtime can deal with a contribution presented in the form of
a ZIP file.

However, it is now the case that ALL
contributions are presented as ZIP files (following Jim Marino's comment
that ZIP

is the ONLY mandated format).  This
means that a separate test for the handling of ZIP format contributions
is 

unnecessary.

6) Contribution2 has a series of problems

sca-contribution.xml has a Java import
and does not have a wsdl namespace import, which is incorrect for a contribution

that is intended to be "language
neutral"

TestComposite67.composite is supposed
to be language neutral

- uses interface.java but should use
interface.wsdl

TestComposite5.composite is supposed
to be language neutral

- uses interface.java and implementation.java

7) Test_ASM_12011 problems

One big issue is the mixing of ASM_12011
artifacts in the TEST_ASM_12010 contribution, which makes it hard to ensure
that

ASM_12011 does the right thing

8) TestComposite11.composite

Various errors including the use of
the wrong interface and incorrect names for some references.

Proposal

1) ASM_12005_TestCase

Change the implementation.composite
in TestComposite5.composite in contibution Contribution1 to use TestComposite1:

- <implementation.composite name="test:TestComposite5"/> 

+ <implementation.composite name="test:TestComposite1"/> 

2) ASM_9999_TestCase

Remove this from the repository.

3) TestComposite5.composite in contribution
ASM_12008 

Add a namespace declaration for "test:"
-

xmlns:test="http://docs.oasis-open.org/ns/opencsa/scatests/200903" 

4) ASM_12003_TestCase

Parallel changes are needed: 

a) Change the final interface.wsdl in
Test_ASM_12003.composite to use namespace http://test2.sca.oasisopen.org/

b) Change Service1b.wsdl to be declared
in http://test2.sca.oasisopen.org/
and make the schemaLocation apply to this namespace (for which there are
no XSD artifacts at all)

This forces the interface.wsdl in the
composite to resolve to Service1b.wsdl, since the test2 namespace is not
imported  by the ASM_12003 contribution

and the wsdl itself has a schemaLocation
that stands no chance of resolving to anything, with the result that the
content of the wsdl is left undefined.

5) ASM_12004_TestCase 

Remove from the test suite.

6) Contribution2 fixes

sca-contribution.xml

<!-- sca-contribution
for the Contribution2 contribution -->

<!-- Imports test2
namespace from Contribution1

     Imports
test namespace

     Imports
wsdl namespace

     Exports
test2 namespace

-->

<contribution

        xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"

        xmlns:test="http://docs.oasis-open.org/ns/opencsa/scatests/200903">

        

        <import
namespace="http://docs.oasis-open.org/ns/opencsa/scatests/200903"/>

        <import
namespace="http://docs.oasis-open.org/ns/opencsa/scatests/2009032"
location="Contribution1"/>

        <import
namespace="http://test.sca.oasisopen.org/"/>
                 
               
               
      <!--
WSDL namespace -->

        <export
namespace="http://docs.oasis-open.org/ns/opencsa/scatests/2009032"/>

         
      

</contribution>

TestComposite67.composite

<composite
xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"

         
 targetNamespace="http://docs.oasis-open.org/ns/opencsa/scatests/2009032"

         
 xmlns:test2="http://docs.oasis-open.org/ns/opencsa/scatests/2009032"

         
 name="TestComposite67">

         
 

        <service
name="Service1"
promote="TestComposite67TestComponent1/Service1">

         
      <interface.wsdl
interface="http://test.sca.oasisopen.org/#wsdl.porttype(Service1)"/>
               

        </service>

    <property
name="serviceName"
type="string"/>

 

    <component
name="TestComposite67TestComponent1">

         
      <implementation.composite
name="test2:TestComposite5"/>

        <service
name="Service1">

         
      <interface.wsdl
interface="http://test.sca.oasisopen.org/#wsdl.porttype(Service1)"/>

        </service>

        <property
name="serviceName"
source="$serviceName"/>

    </component>

</composite>

TestComposite5.composite

<composite
xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"

         
 targetNamespace="http://docs.oasis-open.org/ns/opencsa/scatests/2009032"

         
 xmlns:test="http://docs.oasis-open.org/ns/opencsa/scatests/200903"

         
 name="TestComposite5">

         
 

        <service
name="Service1"
promote="TestComponent1/Service1">

         
      <interface.wsdl
interface="http://test.sca.oasisopen.org/#wsdl.porttype(Service1)"/>

        </service>

    <property
name="serviceName"
type="string"/>

 

    <component
name="TestComponent1">

         
      <implementation.composite
name="test:TestComposite1"/>

        <service
name="Service1">

         
              <interface.wsdl
interface="http://test.sca.oasisopen.org/#wsdl.porttype(Service1)"/>

        </service>

        <property
name="serviceName">servicex</property>

    </component>

</composite>

7) Test_ASM_12011 problems

a) Create a new ASM_12011 contribution

b) Move Test_ASM_12011.composite to
this new contribution

c) Create a new sca-contribution.xml
file for the new contribution:

<!-- sca-contribution
for testcase ASM_12011 -->

<contribution

        xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"

        xmlns:test="http://docs.oasis-open.org/ns/opencsa/scatests/200903">

        <import
namespace="http://docs.oasis-open.org/ns/opencsa/scatests/200903"/>

        <!--
The test is set up so that the imports for namespace http://docs.oasis-open.org/ns/opencsa/scatests/2009032

     
       are made from 1 other contribution -
Contribution2

     
  -->

        <import
namespace="http://docs.oasis-open.org/ns/opencsa/scatests/2009032"
location="Contribution2"/>

        <import
namespace="http://test.sca.oasisopen.org/"/>
                 
               
               
      <!--
WSDL namespace -->

        

</contribution>

d) Change the ASM_12011_TestCase client
to use the new contribution

8) TestComposite11.composite

Corrected version:

<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"

         
 targetNamespace="http://docs.oasis-open.org/ns/opencsa/scatests/200903"

         
 xmlns:test="http://docs.oasis-open.org/ns/opencsa/scatests/200903"

         
 name="TestComposite11">

         
 

        <service
name="Service1" promote="Composite11Component1/Service1">

         
      <interface.wsdl interface="http://test.sca.oasisopen.org/#wsdl.porttype(Service1)"/>

        </service>

    <property name="serviceName"
type="string"/>

 

    <component name="Composite11Component1">

         
      <implementation.composite name="test:TestComposite4"/>

        <service
name="Service1">

         
      <interface.wsdl interface="http://test.sca.oasisopen.org/#wsdl.porttype(Service1)"/>

        </service>

        <property
name="serviceName" source="$serviceName"/>

        <!--
reference is multiplicity 1..1 -->

        <reference
name="Reference1" target="Composite11Component2/Service1">

         
      <interface.wsdl interface="http://test.sca.oasisopen.org/#wsdl.porttype(Service1)"/>

        </reference>

    </component>

 

    <component name="Composite11Component2">

         
      <implementation.composite name="test:TestComposite1"/>

        <service
name="Service1">

         
      <interface.wsdl interface="http://test.sca.oasisopen.org/#wsdl.porttype(Service1)"/>

        </service>

        <property
name="serviceName">Composite11-C2</property>

    </component>

    

    <reference name="Reference1"
promote="Composite11Component1/Reference1">

        <interface.wsdl
interface="http://test.sca.oasisopen.org/#wsdl.porttype(Service1)"/>

    </reference>

    

</composite>

Yours,  Mike.

Strategist - Emerging Technologies, SCA & SDO.

Co Chair OASIS SCA Assembly TC.

IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain.

Phone & FAX: +44-1962-818014    Mobile: +44-7802-467431  

Email:  

Unless stated otherwise above:

IBM United Kingdom Limited - Registered in England and Wales with number
741598. 

Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU
← Prev in month ← Prev in thread
Next in thread → Next in month →