POC for BPSS testing: Case 3: Conditional Branching

Test Object

ID

Description

Mode

Operation

Configuration

Message Expression

Test Suite
Test Case testcase_3Conditional Branching
Split
Threadname='thread_01'
Construct a basic message header with manifest reference to payload containing a Request for QuotePutMessage
<mime:Message>
<mime:MessageContainer>
<soap:Envelope>
<soap:Header>
<eb:MessageHeader>
<eb:Action>RequestQuote</eb:Action>
</eb:MessageHeader>
</soap:Header>
<soap:Body>
<eb:Manifest>
<eb:Reference href="cid:RequestQuote" />
</eb:Manifest>
</soap:Body>
</soap:Envelope>
</mime:MessageContainer>
</mime:Message>
'Add content-id and payload to MIME message SetPayload( SetPayload Content-Id = 'cid:RequestQuote' fileURI = 'file:RequestQuote.xml' )
Retrieve Response message m2 GetMessage/MessageStore/Message//*[eb:MessageHeader[eb:ConversationId=$ConversationId and eb:Action="Mute" and eb:MessageData/eb:RefToMessageId=$MessageId] and [eb:Manifest/eb:Reference/xlink:href="cid:response"]]
Assertion Verify that message is an 'approval' or 'rejection' and that only one is sentVerifyContent/FilterResult/Message//*[[Payload/Approval or Payload/Rejection][count()=1]]
End Assertion
Assertion If it is an approvalVerifyContent/FilterResult/Message/Payload/Approval
Split
Threadname='thread_01_01'
Assertion Validate approval document'ValidateContent contentType=XML schemaLocation=http://www.eBusines.org/approval.xsd/FilterResult/Message/Payload/Approval
End Assertion
Retrieve message m3 (quotation)GetMessage/MessageStore/Message//*[eb:MessageHeader[eb:ConversationId=$ConversationId and eb:Action="Mute" and eb:MessageData/eb:RefToMessageId=$MessageId] and [eb:Manifest/eb:Reference@xlink:href="cid:Quote"]]
Assertion Verify that message is a 'quote'VerifyContent/FilterResult/Message/Payload/Quote
End Assertion
Assertion Validate messageValidateContent contentType=XML schemaLocation=http://http://www.eBusines.org/quote.xsd/FilterResult/Message/Payload/Quote
End Assertion
Send message (m4), approval of quotePutMessage
<mime:Message>
<mime:MessageContainer>
<soap:Envelope>
<soap:Header>
<eb:MessageHeader>
<eb:Action>ApproveQuote</eb:Action>
</eb:MessageHeader>
</soap:Header>
<soap:Body>
<eb:Manifest>
<eb:Reference href="cid:ApproveQuote" />
</eb:Manifest>
</soap:Body>
</soap:Envelope>
</mime:MessageContainer>
</mime:Message>
'Add content-id and payload to MIME message SetPayload( SetPayload Content-Id = 'cid:ApproveQuote' fileURI = 'file:ApproveQuote.xml' )
End Thread
End Split
End Assertion
Assertion If it is a rejectionVerifyContent/FilterResult/Message/Payload/Rejection
Split
Threadname='thread_01_02'
Retrieve Response message m2 and test if message is an Alternative messageGetMessage/MessageStore/Message//(eb:MessageHeader(eb:ConversationId=$ConversationId and eb:Action="Mute" and eb:MessageData/eb:MessageId="m2"))
Assertion Verify that message is an 'alternative'VerifyContent/FilterResult/Message/Payload/Alternative
End Assertion
Assertion Validate alternative document'ValidateContent contentType=XML schemaLocation=http://http://www.eBusines.org/alternative.xsd/FilterResult/Message/Payload/Alternative
End Assertion
End Thread
End Split
End Assertion
End Thread
End Split
Split
Threadname='thread_02'
Filter any ErrorList elements in the MessageStoreGetMessage/MessageStore//Message//eb:MessageHeader[eb:ConversationId=$ConversationId]
Assertion Verify No Error is presentVerifyContent/FilterResult//*[not(eb:ErrorList)]
End Assertion
End Thread
End Split
Join joinType='andjoin' Thread=thread_01
End Join
Join joinType='andjoin' Thread=thread_02
End Join