RRSHB CR test scenarios

I took an AI to send out implementation tests for RRSHB. This email 
fulfills that action.



RRSHB Implementation/Interop tests for the CR phase :-

The tests below cover the following:
* basic RRSHB testing
* testing with multiple RRSH blocks that represent the same resource but
   have different meta-data
* RRSHB testing in conjunction with xmlmime:contentType attribute
* RRSHB testing in conjunction with MTOM


The schema for the elements and attributes used in the tests is as
follows (reuses the 'Data' element from MTOM tests with different
namespace):

<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'
            targetNamespace='http://example.org/rrshb/test'
            xmlns:x='http://example.org/rrshb/test' >

   <xs:import namespace='http://www.w3.org/2004/06/xmlmime' />

   <xs:element name='Data' >
    <xs:complexType>
     <xs:simpleContent>
      <xs:extension base='xs:base64Binary' >
       <xs:attribute ref='xmime:contentType' />
      </xs:extension>
     </xs:simpleContent>
    </xs:complexType>
   </xs:element>

   <xs:element name='GetResourceRepresentation' >
    <xs:complexType>
     <xs:attribute name='resource' type='xs:anyURI' use='required' />
    </xs:complexType>
   </xs:element>

   <xs:element name='ResourceRepresentation' >
    <xs:complexType>
     <xs:sequence>
      <xs:element ref='x:Data' minOccurs='1' maxOccurs='unbounded' />
     </xs:sequence>
     <xs:attribute name='resource' type='xs:anyURI' use='required' />
    </xs:complexType>
   </xs:element>

</xs:schema>



Test 1: Basic RRSHB testing

The tests consists of -

Request message: node A (client) sends a message to node B (server) with
Resource Representation Header block(s) for the resource identified by
"http://example.org/rrshb/test/data". SOAP Body consists of the element
{http://example.org/rrshb/test}GetResourceRepresentation. If multiple
RRSHB are present in the message they must have different values for the
attribute "xmlmime:contentType".

example request message:

<soap:Envelope xmlns:soap='http://www.w3.org/2002/12/soap-envelope'
                xmlns:rep='http://www.w3.org/2004/08/representation'
                xmlns:xmlmime='http://www.w3.org/2004/06/xmlmime'>
   <soap:Header>
     <rep:Representation resource='http://example.org/rrshb/test/data'>
       <rep:Data xmlmime:contentType='image/png'>...</rep:Data>
     </rep:Representation>
     <rep:Representation resource='http://example.org/rrshb/test/data'>
       <rep:Data xmlmime:contentType='image/jpeg'>...</rep:Data>
     </rep:Representation>
   </soap:Header>
   <soap:Body>
     <x:GetResourceRepresentation xmlns:x='http://example.org/rrshb/test'>
       http://example.org/rrshb/test/data
     </x:GetResourceRepresentation>
   </soap:Body>
</soap:Envelope>

Response message: node B (server) responds to node A (client) by
including all the representations of the resource identified by
"http://example.org/rrshb/test/data", in the SOAP Body as the content
of the element {http://example.org/rrshb/test}ResourceRepresentation.

example message:

<soap:Envelope xmlns:soap='http://www.w3.org/2002/12/soap-envelope'
                xmlns:rep='http://www.w3.org/2004/08/representation'
                xmlns:xmlmime='http://www.w3.org/2004/06/xmlmime'>
   <soap:Body>
     <x:ResourceRepresentation xmlns:x='http://example.org/rrshb/test'
 
resource='http://example.org/rrshb/test/data'/>
       <x:Data xmlmime:contentType='image/png'>...</x:Data>
       <x:Data xmlmime:contentType='image/jpeg'>...</x:Data>
   </soap:Body>
</soap:Envelope>


Test 2: RRSHB testing with MTOM

a) same as test 1 but the request message uses MTOM to optimize all
the RRSHB (by using xop:Include).

b) same as test 1 but the response message uses MTOM to optimize all the 
x:Data
elements (by using xop:Include)


Test 3: RRSHB testing with "reinsert"

In this test the SOAP path consists of node A --> node B --> node A.
Node B acts as a forwarding intermediary. The message sent from node A
to node B is same as in test 1, but all the RRSHB headers have the
"reinsert" and "relay" attribute with the value of "true". The message
sent from node B to node A is same as in test 1, but all the RRSHB
headers included in the request message are also present in the response
message.



The tests do not cover section "4.3.3 Extension example: HTTP resolver
extension", as this was considered to be an example and non-normative.
Should this section be tested?

Comments?

Regards.

-Anish
--

Received on Wednesday, 22 September 2004 08:09:05 UTC