[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! MikeTitle: 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.
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