Thoughts on MTOM testing

I promised to post some thoughts on what kind of tests we could run
during the CR period for MTOM/XOP. Here they are;

1.	In terms of simplicity, I think an echo test would be easiest,
but with a little twist. If the media type of the request message is
application/soap+xml then the response should be MTOM. And vice-versa.
This will test both receiving and sending MTOM messages.

2.	We could define an element that contains the optimized data, so
that it's easy to write code to find that element, rather than having to
look for a whole bunch of them. This will just make implementing the
echo test easier.

3.	We should test messages with a single binary part.

4.	We should test messages with multiple binary parts.

5.	We could test xmlmime:content-type by specifying it on a request
message of application/soap+xml and checking that the Content-Type
header of the corresponding MIME part is set correctly in the response
message.

6.	For failure cases, we could test request messages that have
binary parts missing ( dangling include ) and messages that use
Content-Location ( not allowed, MUST use Content-ID ).

Proposed xml for single binary part messages:

<soap:Envelope xmlns:soap='http://www.w3.org/2003/05/soap-envelope' 
               xmlns:xm='http://www.w3.org/2004/06/xmlmime' >
 <soap:Body>
  <p:EchoTest xmlns:p='http://example.org/test' >
   <p:Data xm:content-type='image/jpeg'
>ufzZppdWP+APreQS5N3QMbmer9Qb5jJvBJOhIUqXQNBqketslkPtf3VTkouE5IP3Iwc0s4y
3vNPJaaEEtR6Wdw==</p:Data>
  </p:EchoTest>
 </soap:Body>
</soap:Envelope>

And for multiple binary part messages:

<soap:Envelope xmlns:soap='http://www.w3.org/2003/05/soap-envelope' 
               xmlns:xm='http://www.w3.org/2004/06/xmlmime' >
 <soap:Body>
  <p:EchoTest xmlns:p='http://example.org/test' >
   <p:Data xm:content-type='image/jpeg'
>ufzZppdWP+APreQS5N3QMbmer9Qb5jJvBJOhIUqXQNBqketslkPtf3VTkouE5IP3Iwc0s4y
3vNPJaaEEtR6Wdw==</p:Data>
   <p:Data xm:content-type='application/octet-stream'
>rJF4LVZatSi6Xep5LRPvpC8UaIDbCO4JDm6j9qLDN7noGVA/Gdl+MzpQT4a0CgccwrTyDhL
BOaOibx/ot76G9g==</p:Data>
   <p:Data xm:content-type='audio/wav'
>DyJf8o/ih/WcQn5aV7zcrFJAy7TuDGMGjYgQ82rrwvegAhcAnTayWMFs9rTI1TeCIH4L4Z3
lEQO/WGUG0pOKsA==</p:Data>
  </p:EchoTest>
 </soap:Body>
</soap:Envelope>

Does this make sense? What other tests should we do?

Gudge

Received on Wednesday, 28 July 2004 11:00:53 UTC