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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-iic message

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


Subject: [ebxml-iic] Updated ebXML MS Abstract Test Suite



Jacques and all,

     Attached is the latest update to the ebXML MS Abstract Test Suite.
Added another 40 tests.  Comments welcome!

Mike
Title: ebXML Test Suite Author: Michael Kass Organization: NIST Date: 10/20/2002 Version 0.4 This file was provided by the National Institute of Standards and Technology. This software can be redistributed and/or modified freely provided that any derivative works bear some notice that they are derived from it, and any modified versions bear some notice that they have been modified.

OASIS/ebXML MS 2.0 Abstract Conformance Test Suite

Test Object

ID

Description

Party

Operation

Message Expression

Test Case urn:ebTest:TestCase:id:1 All ebXML messages must validate
Test Case urn:ebTest:TestCase:id:2 SOAP message must be in root part of MIME message
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that an SOAP Message is found in the root part of the MIME message ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope
Test Case urn:ebTest:TestCase:id:3 All MIME parts must have a CID or Content-Location
TestStep 1 TestDriver
Send basic message header with manifest reference to payload PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope[SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]] [SOAP:Body/eb:Manifest/eb:Reference[@xlink:href=""
Add payload to message SetPayload templateRef = 'mpld_basic' /MIME:Message/MIME:Container[1][@Content-Id = 'cid:payload_1' ]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId ]]
Check if MIME Content-type is multipart/mime or not text/xml PreCondition /MIME:Messsage[@Content-Type = 'multipart/mime' or @Content-Type != 'text/xml']
Verify that CID or Content-Location exists for both Message Package MIME part ConformanceCondition /MIME:Messsage[MIME:Container[0] [@Content-Location or @Content-Id]]
Verify that CID or Content-Location exists for Payload MIME part ConformanceCondition /MIME:Messsage [MIME:Container[1][@Content-Location or @Content-Id]]
Test Case urn:ebTest:TestCase:id:4 Message package Content-Type is text/xml
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId='$MessageId]]
Verify message package Content-type ConformanceCondition /MIME:Message/Mime:Container[@Content-Type = 'text/xml]'
Test Case urn:ebTest:TestCase:id:5 Start attribute present in MIME message
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Check for presence of 'start' attribute in MIME message ConformanceCondition MIME:Message/@start
Test Case urn:ebTest:TestCase:id:6 Process non-multipart messages
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[@Content-Type='text/xml' and MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId='$MessageId]]
Check for a returned message. ConformanceCondition /MIME:Message[count > 0]
Test Case urn:ebTest:TestCase:id:7 Process multipart/no payload messages
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[@Content-Type='multipart/related' and MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:RefToMessageId=$MessageId]]
Check for a returned message. ConformanceCondition /MIME:Message[count > 0]
Test Case urn:ebTest:TestCase:id:8 Soap message package Content-Type is 'text/xml'
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify message package Content-type is 'text/xml' ConformanceCondition /MIME:Message/MIME:Container[0][@Content-Type = 'text/xml']
Test Case urn:ebTest:TestCase:id:9 MIME header charset is same as actual SOAP message character set
Test Case urn:ebTest:TestCase:id:10 Header container charset is equal to SOAP message encoding
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Check if header container charset is present PreCondition /MIME:Message/MIME:Container[0]/@charset
Check if SOAP encoding attribute is present PreCondition $SOAPEncoding!=''
Compare header container charset and SOAP message encoding values ConformanceCondition /MIME:Message/MIME:Container[0][@charset = $SOAPEncoding]
Test Case urn:ebTest:TestCase:id:11 SOAP message is encoded in UTF-8
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Check if SOAP encoding attribute is present PreCondition $SOAPEncoding!=''
Verify that message encoding is 'UTF-8' ConformanceCondition $SOAPEncoding = 'UTF-8'
Test Case urn:ebTest:TestCase:id:12 Payloads should be enclosed in MIME container
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope[SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]] [SOAP:Body/eb:Manifest/eb:Reference[@xlink:href=""
Attach an XML payload SetPayload templateRef = 'mpld_basic' /MIME:Message/MIME:Container[1][@Content-Id = 'cid:payload_1' ]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:RefToMessageId=$MessageId ]]
Check for returned payload PreCondition /MIME:Message/MIME:Container[0]/SOAP:Body/eb:Manifest/eb:Reference[@xlink:href='']
Find payload in message GetPayload /MIME:Message/MIME:Container[@Content-Id = 'cid:payload_1']
Verify returned payload contents ConformanceCondition /Payload
Test Case urn:ebTest:TestCase:id:13 If no manifest entry, no MIME payloads
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:RefToMessageId=$MessageId ]]
Verify no payloads are present ConformanceCondition /MIME:Message/MIME:Container[count() = 1]
Test Case urn:ebTest:TestCase:id:14 Must be a matching payload for each manifest reference
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope[SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]] [SOAP:Body/eb:Manifest/eb:Reference[@xlink:href=""
Attach basic XML paylod SetPayload templateRef = 'mpld_basic' /MIME:Message/MIME:Container[1][@Content-Id = 'cid:payload_1' ]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId ]]
Verify a Manifest reference to payload ConformanceCondition /MIME:Message/MIME:Container[1]/SOAP:Envelope/SOAP:Header/eb:Manifest/eb:Reference[@xlink:href='']
Verify that the payload exists GetPayload /MIME:Message/MIME:Container[@Content-Id = 'cid:payload_1']
Verify returned payload ConformanceCondition /Payload
Test Case urn:ebTest:TestCase:id:15 Process unrecognized MIME headers
TestStep 1 TestDriver
Send basic message header with an unrecognized MIM header included PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0][@unrecognizedHeader='abc']/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that a valid message is returned ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope
Test Case urn:ebTest:TestCase:id:16 Prolog may contain XML declaration
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId='$MessageId]]
Verify that prolog exists in SOAP message PreCondition $prolog='true'
Verify that XML declaration exists in SOAP message ConformanceCondition $declaration='true'
Test Case urn:ebTest:TestCase:id:17 Version number present in prolog
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId='$MessageId]]
Verify that prolog exists in SOAP message PreCondition $prolog='true'
Verify that prolog version exists ConformanceCondition $prologVersion = 'true'
Test Case urn:ebTest:TestCase:id:19 ebXML extension elements properly namespace qualified
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that extension elements are properly namespace qualified ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/eb:MessageHeader[namespace-uri()='http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd']
Test Case urn:ebTest:TestCase:id:20 SOAP Envelope elements namespace qualified
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that SOAP envelope element is properly namespace qualified ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/']
Test Case urn:ebTest:TestCase:id:21 SOAP Header and Body attributes contain correct schemaLocation
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that schemaLocation is correct ConformanceCondition $SOAPHeaderSchemaLocation="http://www.oasis-open.org/committees/ebxml-msg/schema/envelope.xsd and $SOAPBodySchemaLocation="http://www.oasis-open.org/committees/ebxml-msg/schema/envelope.xsd
Test Case urn:ebTest:TestCase:id:22 SOAP Header element contains proper namespace
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that SOAP Header element is properly namespace qualified ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/']
Test Case urn:ebTest:TestCase:id:23 SOAP Body element contains proper namespace
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that SOAP Body element is properly namespace qualified ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Body[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/']
Test Case urn:ebTest:TestCase:id:24 MessageHeader element must be in SOAP Header
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify that a MessageHeader element is present ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[count()=1]
Test Case urn:ebTest:TestCase:id:25 Foreign namespace qualified elements are not qualified with ebXML namespace
Test Case urn:ebTest:TestCase:id:26 Ignore wildcard elements
TestStep 1 TestDriver
Send basic message header with additional wildcard element PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId and tns:wildCardElement]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Check for a returned message. ConformanceCondition /MIME:Message[count > 0]
Test Case urn:ebTest:TestCase:id:27 ID attribute is assigned to each ebXML extension element
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that an ID attribute exists for the MessageHeder elemente ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/eb:MessageHeader[@id]
Test Case urn:ebTest:TestCase:id:28 MessageHeader version attribute is '2.0'
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify that correct version is present ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[@eb:version='2.0']
Test Case urn:ebTest:TestCase:id:29 MustUnderstand attribute set to correct namespace
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that a 'mustUnderstand' attribute is present in MessageHeader ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/ebMessageHeader[@mustUnderstand]
Test Case urn:ebTest:TestCase:id:30 Not understood SOAP Header extension elements are rejected
TestStep 1 TestDriver
MessageHeader mustUnderstand set to 'true' PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and @SOAP:mustUnderstand='true']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Test if Error is generated ConformanceCondition MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Body/SOAP:Fault/SOAP:Code[SOAP:Value='MustUnderstand']
Test Case urn:ebTest:TestCase:id:31 type attribute is unique within PartyId list
Test Case urn:ebTest:TestCase:id:32 Generate error when PartyId is not a URI and type is not defined
TestStep 1 TestDriver
Load message template and To PartyId set to 'null' PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and To/PartyId='null']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify that Error message is generated ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList/eb:Error[@eb:errorCode = 'Inconsistent' and @eb:severity = 'Error']
Test Case urn:ebTest:TestCase:id:33 If type is present, it is a valid URI
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Test if type attribute is present PreCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader/eb:To/eb:PartyId[eb:@type]
Verify that a 'mustUnderstand' attribute is present in MessageHeader ValidateMessage
Test Case urn:ebTest:TestCase:id:34 If type is not present, PartyId is a valid URI
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that a 'mustUnderstand' attribute is present in MessageHeader ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/ebMessageHeader[@mustUnderstand]
Test Case urn:ebTest:TestCase:id:35 If CPAId cannot be resolved, respond with ValueNotRecognized Error
TestStep 1 TestDriver
Load message template and CPAId set to 'null' PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and CPAId='null']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify that Error is returned ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList/eb:Error[@eb:errorCode = 'ValueNotRecognized' and @eb:severity = 'Error']
Test Case urn:ebTest:TestCase:id:36 ConversationId is always present
TestStep 1 TestDriver
Send basic reflector message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify that Conversation Id is not present ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader/eb:ConversationId
Test Case urn:ebTest:TestCase:id:38 If type not set, and Service is not a URI, generate Inconsistent Error
TestStep 1 TestDriver
Create simple MessageHeader with an Service that is not a URI PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:To/eb:Service='null' and eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify that Error is returned ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList/eb:Error[@eb:errorCode = 'Inconsistent' and @eb:severity = 'Error']
Test Case urn:ebTest:TestCase:id:39 If type is not present, Service is a valid URI
Test Case urn:ebTest:TestCase:id:40 If Service and Action not recognized, generate Error
TestStep 1 TestDriver
Send basic message with unrecognized Service and Action PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Service='null' and eb:Action='null'and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify that Error is returned ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList/eb:Error[@eb:errorCode = 'ValueNotRecognized' and @eb:severity = 'Error']
Test Case urn:ebTest:TestCase:id:41 Generate RefToMessageId correctly
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Check for a returned message. ConformanceCondition /MIME:Message[count > 0]
Test Case urn:ebTest:TestCase:id:42 Generate no RefToMessageId if first message
TestStep 1 TestDriver
Initiate a message from the candidate MSH PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Initiator' eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[/MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId] ]]
Verify that a RefToMessageId element is not present in message ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader/eb:MessageData/RefToMessageId[count()=0]
Test Case urn:ebTest:TestCase:id:43 Generate RefToMessageId for Error
TestStep 1 TestDriver
Load message template and erroneous To PartyId value PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and eb:To/eb:PartyId='null']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify that a RefToMessageId element is generated for Error ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:ErrorList/eb:ErrorList[count()=1] and eb:MessageData/RefToMessageId=$MessageId]
Test Case urn:ebTest:TestCase:id:44 Generate TimeToLiveExpired Error
TestStep 1 TestDriver
Load message template and an expired TimeToLive PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId and eb:MessageData/eb:TimeToLive='$ExpiredTimeToLive']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify that TimeToLiveExpired Error is returned ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList/eb:Error/@eb:errorCode = '$ExpiredTimeToLive' and @eb:severity = 'Error'
Test Case urn:ebTest:TestCase:id:45 TimeToLive conforms to schema DateTime format
TestStep 1 TestDriver
Send basic message header with additional wildcard element PutMessage templateRef = 'mhdr_0' eb:Action='Reflector' and /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId and newNS:wildCardElement]] and /
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId] ]]
Verify that a TimeToLive element is valid ConformanceCondition eb:MessageData/eb:TimeToLive
Test Case urn:ebTest:TestCase:id:46 2 Descriptions must have different values
Test Case urn:ebTest:TestCase:id:47 No payload data is present in SOAP body
Test Case urn:ebTest:TestCase:id:48 Generate Error for missing payload
TestStep 1 TestDriver
Load message template and a payload CID PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope[SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]] [SOAP:Body/eb:Manifest/eb:Reference[@xlink:href=""
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify that MIMEProblem Error is returned ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:ErrorList/eb:Error/@eb:errorCode = 'MIMEProblem' and @eb:severity = 'Error']
Test Case urn:ebTest:TestCase:id:49 Generate Error for unresolvable CID
TestStep 1 TestDriver
Create simple MessageHeader with an unresolvable Manifest Reference PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header[eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]] [SOAP:Body[eb:Manifest/eb:Reference/@xlink:href='javascript:void(0);']]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify that MIMEProblem Error is returned ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList/eb:Error[@eb:errorCode = 'MIMEProblem' and eb:Error/@eb:severity = 'Error']
Test Case urn:ebTest:TestCase:id:50 Generate resolvable CID in Manifest
TestStep 1 TestDriver
Send message with payload PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header[eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]] [SOAP:Body[eb:Manifest/eb:Reference/@xlink:href='']]]
Add XML payload to message SetPayload templateRef = 'mpld_basic' /MIME:Message/MIME:Container[1][@Content-Id = 'cid:payload_1' ]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify that CID or Content-Location exists for MIME part ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Body/eb:Manifest/eb:Reference[@xlink:href='']
Verify that payload is resolved GetPayload /MIME:Message/MIME:Container[@Content-Id = 'cid:payload_1']
Verify returned payload ConformanceCondition /Payload
Test Case urn:ebTest:TestCase:id:51 Discard unreferenced payloads
TestStep 1 TestDriver
Create simple MessageHeader with no Manifest Reference PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
Add a payload to message SetPayload templateRef = 'mpld_basic' /MIME:Message/MIME:Container[1][@Content-Id = 'cid:payload_1' ]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Check for a returned message. ConformanceCondition /MIME:Message[count > 0]
Test Case urn:ebTest:TestCase:id:52 Process downstream SOAP faults
Test Case urn:ebTest:TestCase:id:53 Generate compliant SOAP faults
Test Case urn:ebTest:TestCase:id:54 Do not generate warnings as SOAP faults
TestStep 1 TestDriver
Send basic message with AckRequested element PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify that Error is returned after candidate failure to receive acknowledgment PreCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList/eb:Error[@eb:errorCode = 'DeliveryFailure' and eb:Error/@eb:severity = 'Warning']
Verify that no SOAP fault is generated for warnings ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Body/SOAP:Fault
Test Case urn:ebTest:TestCase:id:55 Report data communication errors using protocol methods
Test Case urn:ebTest:TestCase:id:56 Do not generate Errorlist if no errors occur
Test Case urn:ebTest:TestCase:id:57 Generate correct highestSeverity for Errorlist
TestStep 1 TestDriver
Create simple MessageHeader with unresolvable To/PartyId PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and eb:To/eb:PartyId='null']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify that ErrorList highestSeverity is 'Error' ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList[@eb:highestServerity='Error']
Test Case urn:ebTest:TestCase:id:58 Error codeContext is a URI
TestStep 1 TestDriver
Load message template and a payload CID PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:EnvelopeSOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId][tns:WildCardElement[@mustUnderstand='true']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Test if codeContext attribute is present PreCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:ErrorList/eb:Error[@codeContext]
Verify valid URI ValidateMessage
Test Case urn:ebTest:TestCase:id:59 Namespace for codeContext is correct
TestStep 1 TestDriver
Create simple MessageHeader with unresolvable To/PartyId PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and eb:To/eb:PartyId='null']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify that namespace is the default value ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList[eb:Error/@eb:codeContext='urn:oasis:names:tc:ebxml-msg:service:errors']
Test Case urn:ebTest:TestCase:id:60 Generate correct severity values
TestStep 1 TestDriver
Create simple MessageHeader with unresolvable To/PartyId PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and eb:To/eb:PartyId='null']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify that severity is 'Error' ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList/eb:Error[@eb:severity='Error']
Test Case urn:ebTest:TestCase:id:61 Generate correct XPointer for Error
Test Case urn:ebTest:TestCase:id:62 Generate correct CID for erroneous payload MIME part
Test Case urn:ebTest:TestCase:id:63 ShortDescription does not appear in Error Elements
Test Case urn:ebTest:TestCase:id:64 If error reporting location is known, send error message back to originating MSH
TestStep 1 TestDriver
Send message with unknown 'From' partyId to ErrorAppNotify action PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and eb:To/eb:PartyId='null']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify returned error ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList/eb:Error[@eb:errorCode = 'Inconsistent' and @eb:severity = 'Error']
Test Case urn:ebTest:TestCase:id:65 If reporting location unknown, log Error
TestStep 1 TestDriver
Send message with unknown 'From' partyId to ErrorAppNotify action PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='ErrorAppNotify' and eb:CPAId='cpa_noErrorURI' and eb:From/eb:PartyId='null' and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_noErrorURI' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId='$MessageId]]
Get returned Error Mesage in payload GetPayload /MIME:Message/MIME:Container[@Content-Id = 'cid:errorList_1']
Verify returned Error message ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList/eb:Error[@eb:errorCode = 'Inconsistent']
Test Case urn:ebTest:TestCase:id:66 If ErrorURI is implied in CPA, use it
TestStep 1 TestDriver
Send message with unknown 'To' partyId to ErrorAppNotify action PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and eb:To/eb:PartyId='null']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify returned Error message ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList/eb:Error[@eb:errorCode = 'Inconsistent']
Test Case urn:ebTest:TestCase:id:67 If reporting location not specified in CPA, use From Party location in message
TestStep 1 TestDriver
Send message with unknown 'To' partyId to Reflector action PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='NoErrorURI' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and eb:To/eb:PartyId='null']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_NoErrorURI' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify returned Error message ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList/eb:Error[@eb:errorCode = 'Inconsistent']
Test Case urn:ebTest:TestCase:id:68 Generate correct values for ErrorList Service and Action in independent message
Test Case urn:ebTest:TestCase:id:69 Log if HighestSeverity equals Error
TestStep 1 TestDriver
Send a message containing an ErrorList element with highestSeverity set to 'Error' PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='ErrorAppNotify' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and eb:ErrorList/@eb:highestSeverity='Error']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify that the error was logged GetPayload /MIME:Message/MIME:Container[@Content-Id = 'cid:errorList_1']
Verify that returned ErrorList highestSeverity is set to Error ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList[@eb:highestSeverity = 'Error']
Test Case urn:ebTest:TestCase:id:70 Keep connection open for SyncReply
TestStep 1 TestDriver
Set MessageHeader and Manifest to reference CPA PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_SyncReplyTrue' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId]]
TestStep 2 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_SyncReplyTrue' and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId]]
TestStep 3 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_SyncReplyTrue' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Check for a returned message. ConformanceCondition /MIME:Message[count > 0]
Test Case urn:ebTest:TestCase:id:71 Inconsistent CPA and message SyncReply
TestStep 1 TestDriver
Send a message with a SyncReply element PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_SyncReplyNone' and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and and /SOAP:Envelope/SOAP:Header/eb:SyncReply]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_SyncReplyNone' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify that an Error is returned ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList[eb:Error/@eb:errorCode = 'Inconsistent' and @eb:severity = 'Error']
Test Case urn:ebTest:TestCase:id:72 SyncReply must not be present if CPA syncReplyMode is set to 'none'
TestStep 1 TestDriver
Send message with CPA syncReplyMode set to 'none PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_SyncReplyNone' and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_SyncReplyNone' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify that no SyncReply element is returned in message ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader/eb:SyncReply[count() = 0]
Test Case urn:ebTest:TestCase:id:73 Resend until Acknowledgment is received
TestStep 1 TestDriver
Send basic message with AckRequested element PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_MaxRetries' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Count number of retries ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:AckRequested][count() = $Retries]
TestStep 3 TestDriver
Send Acknowledgment PutMessage templateRef = 'mhdr_0' eb:Action='Reflector' and /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and /SOAP:Envelope/SOAP:Header/eb:Acknowledgment]]
TestStep 4 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId ]]
Verify no new retry messages were sent ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:AckRequested][count() = $PreviousCount]]
Test Case urn:ebTest:TestCase:id:74 Resend until maximum retry limit reached
TestStep 1 TestDriver
Send basic message with AckRequested element PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_MaxRetries' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify maximum retries were sent ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:AckRequested][count() = $MaxRetries]]
Test Case urn:ebTest:TestCase:id:75 Resume after Acknowledgment
TestStep 1 TestDriver
Candidate party initiates new conversation PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
TestStep 3 TestDriver
Send Acknowledgment PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Mute' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and /SOAP:Envelope/SOAP:Header/eb:Acknowledgment]]
TestStep 4 TestDriver
Repeat Step 2
TestStep 5 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[]]
Verify no new AckRequests were sent ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:AckRequested]
Test Case urn:ebTest:TestCase:id:76 Resend until delivery failure
TestStep 1 TestDriver
Send basic message with AckRequested element PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Test for multiple retries PreCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:AckRequested][count() > 1]
Verify returned error ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList/eb:Error[@eb:errorCode = 'DeliveryFailure' and @eb:severity = 'Warning']
Test Case urn:ebTest:TestCase:id:77 Process received message after interrupt
TestStep 1 TestDriver
Send a message to the 'Interrupt' action PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Interrupt' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and eb:ErrorList/@eb:highestSeverity='Error']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify that a message was received ConformanceCondition /MIME:Message
Test Case urn:ebTest:TestCase:id:78 Process reliably sent message after no Ack and system failure
TestStep 1 TestDriver
Send a message to the 'Reflector' action with an AckRequested PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header[eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId][eb:AckRequested]]
TestStep 2 TestDriver
Send a message to the 'Fail' action PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Fail' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and eb:ErrorList/@eb:highestSeverity='Error']]
TestStep 3 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify resend of AckRequest after system restart ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/AckRequested
Test Case urn:ebTest:TestCase:id:85 Persist complete reliably received message
TestStep 1 TestDriver
Send basic message to 'CheckPersistStore' action PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope[SOAP:Header/eb:MessageHeader[eb:Action='CheckPersistStore' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId ]]
Get first payload GetPayload /MIME:Message/MIME:Container[1]
Verify complete message in persistent store ConformanceCondition //MIME:Message[MIME:Container[0]/SOAP:Envelope[SOAP:Header/eb:MessageHeader[eb:Action='CheckPersistStore' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
Test Case urn:ebTest:TestCase:id:86 Persist MessageId
TestStep 1 TestDriver
Send basic message to 'CheckPersistStore' action PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope[SOAP:Header/eb:MessageHeader[eb:Action='CheckPersistStore' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId ]]
Get first payload GetPayload /MIME:Message/MIME:Container[1]
Verify MessageId in persistent store ConformanceCondition //PersistStoreMessageId
Test Case urn:ebTest:TestCase:id:88 Persist message receipt time
TestStep 1 TestDriver
Send basic message to 'CheckPersistStore' action PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope[SOAP:Header/eb:MessageHeader[eb:Action='CheckPersistStore' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId ]]
Get first payload GetPayload /MIME:Message/MIME:Container[1]
Verify receipt time in persistent store ConformanceCondition //PersistStoreMessageReceiptTime
Test Case urn:ebTest:TestCase:id:86 Persist MessageId
TestStep 1 TestDriver
Send basic message to 'CheckPersistStore' action PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope[SOAP:Header/eb:MessageHeader[eb:Action='CheckPersistStore' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId ]]
Get first payload GetPayload /MIME:Message/MIME:Container[1]
Verify MessageId in persistent store ConformanceCondition //PersistStoreMessageId
Test Case urn:ebTest:TestCase:id:89 Persist complete response message
TestStep 1 TestDriver
Send basic message to 'CheckPersistStore' action PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope[SOAP:Header/eb:MessageHeader[eb:Action='CheckPersistStore' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId ]]
Get first payload GetPayload /MIME:Message/MIME:Container[1]
Verify complete response message in persistent store ConformanceCondition //MIME:Message[MIME:Container[0]/SOAP:Envelope[SOAP:Header/eb:MessageHeader[eb:Action='TestListener' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Test Case urn:ebTest:TestCase:id:90 Target AckRequested to NextMSH or ToParty
TestStep 1 TestDriver
Send basic message with AckRequested element, plus a second To Party (to create multi-hop) PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and /SOAP:Envelope/SOAP:Header/eb:AckRequested and eb:To/eb:PartyId[1][text()='TestDriver']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify AckRequested in message ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:AckRequested]
TestStep 3 TestDriver
Send Acknowledgment to Mute action PutMessage templateRef = 'mhdr_0' eb:Action='Mute' and /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and eb:RefToMessageId=$RefToMessageId and /SOAP:Envelope/SOAP:Header/eb:Acknowledgment]]
Test Case urn:ebTest:TestCase:id:91:1 Return unsigned Acknowledgment, no Signature in CPA
TestStep 1 TestDriver
Create simple MessageHeader with an AckRequested unsigned element PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId and eb:AckRequested/@eb:signed='false']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify returned Acknowledgment is not signed ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[XMLDSIG:Signature[count()=0] and eb:Acknowledgment/@eb:signed='false']
Test Case urn:ebTest:TestCase:id:91:2 Return unsigned Acknowledgment, Signature present in CPA
TestStep 1 TestDriver
Create simple MessageHeader with an AckRequested signed element PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId and eb:AckRequested/@eb:signed='true']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify returned Acknowledgment is not signed ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader/Signature[count()=0]]
Test Case urn:ebTest:TestCase:id:92 Return unsigned Acknowledgment, Signature present in CPA
TestStep 1 TestDriver
Request unsigned Acknowledgment PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify returned Acknowledgment is not signed ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[XMLDSIG:Signature[count()=0] and eb:Acknowledgment/@eb:signed='false']]
Test Case urn:ebTest:TestCase:id:93 Return Warning if Signature not supported and consistent with CPA
TestStep 1 TestDriver
Create simple MessageHeader with an AckRequested signed element PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId and eb:AckRequested/@eb:signed='true']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify returned Error message ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList/eb:Error[@eb:errorCode = 'Inconsistent' and eb:ErrorList/eb:Error/@eb:severity = 'Warning']
Test Case urn:ebTest:TestCase:id:94 Return Error if Signature not supported and not consistent with CPA
TestStep 1 TestDriver
Create simple MessageHeader with an AckRequested signed element PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId and eb:AckRequested/@eb:signed='true']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify returned Error message ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList/eb:Error[@eb:errorCode = 'Inconsistent' and eb:ErrorList/eb:Error/@eb:severity = 'Warning']
Test Case urn:ebTest:TestCase:id:95 Return Acknowledgment to From party
TestStep 1 TestDriver
Create simple MessageHeader with an AckRequested unsigned element PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId and eb:AckRequested/@eb:signed='false']]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify that message contains correct name in To party ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader/eb:To[eb:PartyId=$FromPartyId]
Test Case urn:ebTest:TestCase:id:96 No AckRequested with Acknowledgment
TestStep 1 TestDriver
Send basic message with AckRequested element PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify no payload is present ConformanceCondition /MIME:Message[not(MIME:Container[1])]
Verify no AckRequested element is present ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[not(eb:AckRequested)]]
Test Case urn:ebTest:TestCase:id:97 No AckRequested with ErrorList
TestStep 1 TestDriver
Send basic message to generate a MustUnderstand error and an AckRequested element PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and tns:WildCard[@mustUnderstand="1"] and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify an ErrorList is present PreCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:ErrorList
Verify no AckRequested element is present ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[not(eb:AckRequested)]
Test Case urn:ebTest:TestCase:id:98 Default target for Acknowledgment if no SOAP actor
TestStep 1 TestDriver
Send basic AckRequested message PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify SOAP actor attribute is not present PreCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header[not(@actor]]
Verify To PartyId is the Test Driver ConformanceCondition MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader/eb:To/[eb:PartyId=$FromParty]]
Test Case urn:ebTest:TestCase:id:99 SOAP actor value is same as AckRequested actor attribute value
TestStep 1 TestDriver
Send basic AckRequested message PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify SOAP actor attribute is present PreCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header[@actor]]
Verify that the actor attribute is identical ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:Acknowledgment[@eb:actor=../@actor]]
Test Case urn:ebTest:TestCase:id:100 Test valid TimeStamp format
TestStep 1 TestDriver
Send basic message PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Validate message, including TimeStamp ValidateMessage
Test Case urn:ebTest:TestCase:id:101 RefToMessageId must reference appropriate message
TestStep 1 TestDriver
Send basic message header PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that a message was found that points to previous message ConformanceCondition /MIME:Message
Test Case urn:ebTest:TestCase:id:102 Acknowledgment From PartyId value is Candidate MSH
TestStep 1 TestDriver
Send basic AckRequested message PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify that From PartyId is correct' ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:Acknowledgment/From[PartyId=$ToPartyId]]
Test Case urn:ebTest:TestCase:id:103 From PartyID of MessageHeader used if not present in Acknowledgment
TestStep 1 TestDriver
Send basic AckRequested message PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify that From PartyId is not present in Acknowledgment' PreCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:Acknowledgment/From[not(PartyId)]]
Verify that From PartyId is correct' ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader/From[PartyId=$ToPartyId]]
Test Case urn:ebTest:TestCase:id:104 Reference element(s) present in a signed Acknowledgment
TestStep 1 TestDriver
Send basic AckRequested message with signed = 'true' PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and /SOAP:Envelope/SOAP:Header/eb:AckRequested[@signed='true']]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify that a Reference element is present' ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:Acknowledgment/eb:Reference]
Test Case urn:ebTest:TestCase:id:105 Reference element(s) are correctly namespace qualified
TestStep 1 TestDriver
Send basic AckRequested message with signed = 'true' PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify namespace of Reference element(s)' ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:Acknowledgment/eb:Reference[namespace-uri()='http://www.w3.org/2000/09/xmldsig#']]
Test Case urn:ebTest:TestCase:id:106 Application notified of Acknowledgment
Test Case urn:ebTest:TestCase:id:107 Ignore multiple Acknowledgments of same message
TestStep 1 TestDriver
Send reflector message with AckRequested PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify that AckRequested element is present PreCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:AckRequested]
TestStep 3
Send Acknowledgment PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:EnvelopeSOAP:Header[eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId] and [eb:Acknowledgment]]
TestStep 4 TestDriver
Repeat Step 3
TestStep 5 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Test if Error is generated ConformanceCondition MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header[not(eb:ErrorList)]
Test Case urn:ebTest:TestCase:id:108 If no Errors or Payload, Acknowledgment uses default Service/Action
TestStep 1 TestDriver
Send basic message with AckRequested element PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_basic' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify no payload is present PreCondition /MIME:Message[not(MIME:Container[1])]
Verify no ErrorList is present PreCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header[not(eb:ErrorList)]
Verify no AckRequested element is present ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[Service='urn:oasis:names:tc:ebxml-msg:service']
Verify no AckRequested element is present ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[Action='Acknowledgment']
Test Case urn:ebTest:TestCase:id:109 CPA DuplicateElimination requires presence in messages
TestStep 1 TestDriver
Send basic message header with CPA having DuplicateElimination set to 'true' PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_DuplicateEliminationTrue' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that DuplicateElimination element is in returned message ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:DuplicateElimination]
Test Case urn:ebTest:TestCase:id:110 CPA DuplicateElimination set to 'never' means no presence in messages
TestStep 1 TestDriver
Send basic message header with CPA having DuplicateElimination set to 'never' PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_DuplicateEliminationNever' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that DuplicateElimination element is not in returned message ConformanceCondition /MIME:Message/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[not(eb:DuplicateElimination)]
Test Case urn:ebTest:TestCase:id:111 CPA DuplicateElimination set to 'per message' means presence is variable per message
TestStep 1 TestDriver
Send basic message header with DuplicateElimination element present and CPA DuplicateElimination set to 'per message' PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_DuplicateEliminationPerMessage' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId and eb:DuplicateElimination]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that no 'Inconsistent' Error is present in returned message ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:Errorlist/eb:Error[not(@errorCode='Inconsistent')]]
TestStep 3 TestDriver
Send basic message header with no DuplicateElimination element present and CPA DuplicateElimination set to 'per message' PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_DuplicateEliminationPerMessage' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 4 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that no 'Inconsistent' Error is present in returned message ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:Errorlist/eb:Error[not(@errorCode='Inconsistent')]]
Test Case urn:ebTest:TestCase:id:112 CPA DuplicateElimination set to 'always' means presence is required always, else generate Inconsistent Error
TestStep 1 TestDriver
Send basic message header with NO DuplicateElimination element present and CPA DuplicateElimination set to 'always' PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_DuplicateEliminationAlways' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that 'Inconsistent' Error is present in returned message ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:Errorlist/eb:Error[@errorCode='Inconsistent']]
Test Case urn:ebTest:TestCase:id:113 CPA DuplicateElimination set to 'never' means Inconsistent Error if present
TestStep 1 TestDriver
Send basic message header with NO DuplicateElimination element present and CPA DuplicateElimination set to 'never' PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_DuplicateEliminationNever' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId and eb:DuplicateElimination]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that 'Inconsistent' Error is present in returned message ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:Errorlist/eb:Error[@errorCode='Inconsistent']]
Test Case urn:ebTest:TestCase:id:114 CPA DuplicateElimination present, message is presented 'at-most-once'
TestStep 1 TestDriver
Send basic message header with DuplicateElimination element present and CPA DuplicateElimination set to 'always' PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Reflector' and eb:CPAId='cpa_DuplicateEliminationAlways' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId and eb:DuplicateElimination]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that no 'Inconsistent' Error is present in returned message PreCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:Errorlist/eb:Error[@errorCode='Inconsistent']]
Verify that a 'reflected' message is returned ConformanceCondition /MIME:Message
TestStep 3 TestDriver
TestStep 4 Send identical reflector message again TestDriver
Repeat Step 1
TestStep 5 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that a 'reflected' message is NOT returned ConformanceCondition [not(/MIME:Message)]
Test Case urn:ebTest:TestCase:id:115 CPA DuplicateElimination present and service is interrupted, message is presented 'at-most-once'
TestStep 1 TestDriver
Send basic message header with DuplicateElimination element present and CPA DuplicateElimination set to 'always' PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Reflector' and eb:CPAId='cpa_DuplicateEliminationAlways' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId and eb:DuplicateElimination]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that no 'Inconsistent' Error is present in returned message PreCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:Errorlist/eb:Error[@errorCode='Inconsistent']]
Verify that a 'reflected' message is returned PreCondition /MIME:Message
TestStep 3 TestDriver
Send a message to the 'Interrupt' action PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Interrupt' and eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId]
TestStep 4 Send identical reflector message again TestDriver
Repeat Step 1
TestStep 5 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that a 'reflected' message is NOT returned ConformanceCondition [not(/MIME:Message)]
Test Case urn:ebTest:TestCase:id:116 CPA DuplicateElimination not supported' means Inconsistent Error if present
TestStep 1 TestDriver
Send basic message header with DuplicateElimination element present and CPA DuplicateElimination set to 'always' PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_DuplicateEliminationAlways' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId and eb:DuplicateElimination]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that an 'Inconsistent' Error is present in returned message ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:Errorlist/eb:Error[@errorCode='Inconsistent']]
Test Case urn:ebTest:TestCase:id:117 CPA DuplicateElimination is 'always', but DuplicateElimination not present in message, result is Inconsistent Error
TestStep 1 TestDriver
Send basic message header with NO DuplicateElimination element present and CPA DuplicateElimination set to 'always' PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_DuplicateEliminationAlways' and eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep 2 TestDriver
Correlate returned message GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that an 'Inconsistent' Error is present in returned message ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:Errorlist/eb:Error[@errorCode='Inconsistent']]
Test Case urn:ebTest:TestCase:id:119 Resend until maximum retry limit reached
TestStep 1 TestDriver
Send basic message with AckRequested element PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_MaxRetries' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId]]
Verify maximum retries were sent ConformanceCondition /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:AckRequested][count() = $MaxRetries]]
Test Case urn:ebTest:TestCase:id:120 Verify minimum time between resends
TestStep 1 TestDriver
Send basic message with AckRequested element PutMessage templateRef = 'mhdr_0' /MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and eb:CPAId='cpa_MaxRetries' and and eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId and /SOAP:Envelope/SOAP:Header/eb:AckRequested]]
TestStep 2 TestDriver
Correlate returned messages GetMessage //MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId and ../AckRequested]]
Verify minimum time between resends ConformanceCondition [/MIME:Message[last()]/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader/eb:MessageData/eb:Timestamp - MIME:Message[last()-1]/MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader/eb:MessageData/eb:Timestamp >= $RetryInterval]
Test Templates


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


Powered by eList eXpress LLC