OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-assembly message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [sca-assembly] [NEW ISSUE] Problems with Assembly TestSuite Artifactsfor ASM_9999, ASM_12003, ASM_12004, ASM_12005, ASM_12011 and Contribution2contribution



Logged as: http://www.osoa.org/jira/browse/ASSEMBLY-190

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:  mike_edwards@uk.ibm.com



From: Mike Edwards/UK/IBM@IBMGB
To: "OASIS Assembly" <sca-assembly@lists.oasis-open.org>
Date: 10/11/2009 10:08
Subject: [sca-assembly] [NEW ISSUE] Problems with Assembly TestSuite Artifacts for ASM_9999, ASM_12003, ASM_12004, ASM_12005, ASM_12011 and 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:  mike_edwards@uk.ibm.com





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












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








[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]