Next in thread →
Next in month →
Re: [ebxml-iic] Call this Monday 21, 10am PT
Jacques,
Attached is the latest update to ebXML MS 2.0 Abstract
Conformance Test Suite document.
I have simplified the XPath syntax for easier reading and
understanding.
One suggestion that I have for improving further:
1) Change name of PreCondition and
ConformanceCondition to "TestPreCondition" and
"TestConformanceCondition", since that will
align better with the "PutMessage" , "SetPayload",
"GetMessage" and "GetPayload" operation ( action )
names.
Regards,
Mike
At 06:41 PM 10/18/2002 -0700, Jacques Durand wrote:
All:
Call this week:
Host: SeeBeyond (will host the
Oct 7, 14, 21, 28 conference calls.
Dialing information is as follows:
US Toll-Free: 866-628-8003
International: +1 630-424-4862
Passcode: 8500499#
General Agenda so far:
1. Status on external initiatives and liaisons :
(OAG/NIST, ECOM, CEN/ISSS, UeB Architecture Impl. guide)
Joint Marketing Committee: Monica suggests we need a representative there.
2. Deployment templates (Pete)
- current status, how we work with EAN on an instance.
3. test Case material and MS COnformance suite (Mike, Matt)
- status on the test case definitions.
4. Interoperability Test suite (Steve / Hatem)
- points on the agenda of sub-team f-2-f end of week.
Regards,
Jacques
Title: ebXML Test Suite
Author: Michael Kass
Organization: NIST
Date: 10/20/2002
Version 0.4
This file was provided by the National Institute of Standards and Technology.
This software can be redistributed and/or modified freely provided that any
derivative works bear some notice that they are derived from it, and any modified
versions bear some notice that they have been modified.
OASIS/ebXML MS 2.0 Abstract Conformance Test Suite
Test Object
ID
Description
Party
Operation
Message Expression
Test Case
urn:ebTest:TestCase:id:1
All ebXML messages must validate
Test Case
urn:ebTest:TestCase:id:2
SOAP message must be in root part of MIME message
TestStep
1
TestDriver
Send basic message header
PutMessage
templateRef = 'mhdr_0'
/MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[ eb:Action='Dummy' and eb:CPAId='cpa_basic' and
eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep
2
TestDriver
Correlate returned message
GetMessage
//MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and eb:ConversationId=$ConversationId and eb:MessageData/eb:RefToMessageId=$MessageId]]
Verify that an SOAP Message is found in the root part of the MIME message
ConformanceCondition
/MIME:Message/MIME:Container[0]/SOAP:Envelope
Test Case
urn:ebTest:TestCase:id:3
All MIME parts must have a CID or Content-Location
TestStep
1
TestDriver
Send basic message header with manifest reference to payload
PutMessage
templateRef = 'mhdr_0'
/MIME:Message[MIME:Container[0]/SOAP:Envelope[SOAP:Header/eb:MessageHeader[eb:Action='Reflector' and
eb:CPAId='cpa_basic' and
eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]] [SOAP:Body/eb:Manifest/eb:Reference[@xlink:href=""
Add payload to message
SetPayload
templateRef = 'mpld_basic'
/MIME:Message/MIME:Container[1][@Content-Id = 'cid:payload_1' ]
TestStep
2
TestDriver
Correlate returned message
GetMessage
//MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[
eb:CPAId='cpa_basic' and
eb:ConversationId=$ConversationId and
eb:MessageData/eb:RefToMessageId=$MessageId
]]
Check if MIME Content-type is multipart/mime or not text/xml
PreCondition
/MIME:Messsage[@Content-Type = 'multipart/mime' or @Content-Type != 'text/xml']
Verify that CID or Content-Location exists for both Message Package MIME part
ConformanceCondition
/MIME:Messsage[MIME:Container[0] [@Content-Location or @Content-Id]]
Verify that CID or Content-Location exists for Payload MIME part
ConformanceCondition
/MIME:Messsage [MIME:Container[1][@Content-Location or @Content-Id]]
Test Case
urn:ebTest:TestCase:id:4
Message package Content-Type is text/xml
TestStep
1
TestDriver
Send basic message header
PutMessage
templateRef = 'mhdr_0'
/MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Dummy' and
eb:CPAId='cpa_basic' and
eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep
2
TestDriver
Correlate returned message
GetMessage
//MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and
eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId='$MessageId]]
Verify message package Content-type
ConformanceCondition
/MIME:Message/Mime:Container[@Content-Type = 'text/xml]'
Test Case
urn:ebTest:TestCase:id:5
Start attribute present in MIME message
TestStep
1
TestDriver
Send basic message header
PutMessage
templateRef = 'mhdr_0'
/MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Dummy' and
eb:CPAId='cpa_basic' and
eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep
2
TestDriver
Correlate returned messages
GetMessage
//MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and
eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Check for presence of 'start' attribute in MIME message
ConformanceCondition
MIME:Message/@start
Test Case
urn:ebTest:TestCase:id:6
Process non-multipart messages
TestStep
1
TestDriver
Send basic message header
PutMessage
templateRef = 'mhdr_0'
/MIME:Message[@Content-Type='text/xml' and MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Dummy'
and
eb:CPAId='cpa_basic' and
eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId]
TestStep
2
TestDriver
Correlate returned messages
GetMessage
//MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[
eb:CPAId='cpa_basic' and
eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId='$MessageId]]
Check for a returned message.
ConformanceCondition
/MIME:Message[count > 0]
Test Case
urn:ebTest:TestCase:id:7
Process multipart/no payload messages
TestStep
1
TestDriver
Send basic message header
PutMessage
templateRef = 'mhdr_0'
/MIME:Message[@Content-Type='multipart/related' and MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Dummy'
and
eb:CPAId='cpa_basic' and
eb:ConversationId=$ConversationId and eb:MessageData/MessageId=$MessageId]
TestStep
2
TestDriver
Correlate returned messages
GetMessage
//MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[
eb:CPAId='cpa_basic' and
eb:ConversationId=$ConversationId and eb:RefToMessageId=$MessageId]]
Check for a returned message.
ConformanceCondition
/MIME:Message[count > 0]
Test Case
urn:ebTest:TestCase:id:8
Soap message package Content-Type is 'text/xml'
TestStep
1
TestDriver
Send basic message header
PutMessage
templateRef = 'mhdr_0'
/MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:Action='Dummy' and
eb:CPAId='cpa_basic' and
eb:ConversationId=$ConversationId and eb:MessageData/eb:MessageId=$MessageId]]
TestStep
2
TestDriver
Correlate returned messages
GetMessage
//MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader[eb:CPAId='cpa_basic' and
eb:ConversationId=$ConversationId and eb:MessageData/RefToMessageId=$MessageId ]]
Verify message package Content-type is 'text/xml'
ConformanceCondition
/MIME:Message/MIME:Container[0][@Content-Type = 'text/xml']
Test Case
urn:ebTest:TestCase:id:9
MIME header charset is same as 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
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
Test Case
urn:ebTest:TestCase:id:20
SOAP Envelope elements namespace qualified
Test Case
urn:ebTest:TestCase:id:21
SOAP Header and Body attributes contain correct schemaLocation
Test Case
urn:ebTest:TestCase:id:22
SOAP Header element contains proper namespace
Test Case
urn:ebTest:TestCase:id:23
SOAP Body element contains proper namespace
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
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
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:MessageHeader/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
Test Case
urn:ebTest:TestCase:id:34
If type is not present, PartyId is a valid URI
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:MessageHeader/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[count()=0]
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:MessageHeader/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:MessageHeader/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:MessageHeader/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:MessageHeader/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
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:MessageHeader/eb:ErrorList[@eb:highestServerity='Error']
Test Case
urn:ebTest:TestCase:id:58
Error codeContext is a URI
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:MessageHeader/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:MessageHeader/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:MessageHeader/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_basic' 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_basic' 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:MessageHeader/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:MessageHeader/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:MessageHeader/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:MessageHeader/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:MessageHeader/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_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]]
Count number of retries
ConformanceCondition
/MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader/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:MessageHeader/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_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 maximum retries were sent
ConformanceCondition
/MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader/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
GetMessage repeatStep = '2'
Verify no new AckRequests were sent
ConformanceCondition
/MIME:Message[MIME:Container[0]/SOAP:Envelope/SOAP:Header/eb:MessageHeader/eb:AckRequested][count() = 0]
Test Case
urn:ebTest:TestCase:id:76
Resend until delivery failure
Test Case
urn:ebTest:TestCase:id:77
Process received message after interrupt
Test Case
urn:ebTest:TestCase:id:78
Process reliably sent message after no Ack and system failure
Test Case
urn:ebTest:TestCase:id:79
Persist reliably sent message after interrupt
Test Case
urn:ebTest:TestCase:id:80
Process reliably received message after interrupt
Test Case
urn:ebTest:TestCase:id:81
Persist reliably received message after no Ack and system failure
Test Case
urn:ebTest:TestCase:id:82
Persist reliably received message after interrupt
Test Case
urn:ebTest:TestCase:id:83
Process reliably received message after system failure
Test Case
urn:ebTest:TestCase:id:84
Process reliably sent message after no Ack and system failure
Test Case
urn:ebTest:TestCase:id:85
Persist complete reliably received message
Test Case
urn:ebTest:TestCase:id:86
Persist MessageId
Test Case
urn:ebTest:TestCase:id:87
Persist complete reliably received message until processing
Test Case
urn:ebTest:TestCase:id:88
Persist message receipt time
Test Case
urn:ebTest:TestCase:id:89
Persist complete response message
Test Case
urn:ebTest:TestCase:id:90
Target AckRequested to NextMSH or ToParty
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:MessageHeader/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:MessageHeader/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 Templates
Next in thread →
Next in month →