POC for BPSS testing: Case 1 - Basic Business Transaction (e.g. PIP 3A4) with TimeToPerform and TimeToAcknowledgeReceipt

Test Object

ID

Description

Mode

Operation

Configuration

Message Expression

Test Suite
Test Case testcase_3Basic Business Transaction with TimeToPerform and TimeToAcknowledge
Split
Threadname='thread_01'
Send a message containing a Purchase Order attachmentPutMessage
<mime:Message>
<mime:MessageContainer>
<soap:Envelope>
<soap:Header>
<eb:MessageHeader>
<eb:Action>Purchase</eb:Action>
</eb:MessageHeader>
</soap:Header>
<soap:Body>
<eb:Manifest>
<eb:Reference xlink:href="cid:Pip34APurchaseOrderRequest" />
</eb:Manifest>
</soap:Body>
</soap:Envelope>
</mime:MessageContainer>
</mime:Message>
Add content-id and payload to MIME message SetPayload( SetPayload Content-Id = 'cid:Pip34APurchaseOrderRequest' fileURI = 'file:Pip34APurchaseOrderRequest.xml' )
Split
Threadname='thread_02'
Sleep=600 seconds
End Thread
End Split
SetParametername=RequestTimestamp parameterRef=Timestamp
Retrieve ebXML MS Acknowledgment GetMessage/TEST:MessageStore/mime:Message[mime:Container[1]/soap:Envelope/soap:Header[eb:MessageHeader[eb:CPAId='mshc_Basic' and eb:ConversationId=$ConversationId ] and eb:Acknowledgment]]
SetXPathParametername=MSAckTimestamp expression=/FilterResult//eb:Acknowledgment/eb:Timestamp
Assertion Verify that Receipt Acknowledgment occured within specified 'TimeToAcknowledge of 300 seconds'VerifyTimeDifferenceMSAckTimestamp - RequestTimestamp <= PT300S
End Assertion
Retrieve business Acknowledgment GetMessage/MessageStore/Message//*[eb:MessageHeader[eb:ConversationId=$ConversationId and eb:Action="Mute"] and [eb:Manifest/eb:Reference/xlink:href="cid:ReceiptAcknowledgment"]]
SetXPathParametername=BusinessTimeStamp expression=/FilterResult/Message//Payload/ReceiptAcknowledgment//Timestamp
Assertion Verify that message is an 'ReceiptAcknowledgment with a Purchase order Reference corresponding to the ConversationId'VerifyContent/FilterResult/Message/Payload[@contentId="cid:ReceiptAcknowledgment]/ReceiptAcknowledgment[Reference=$ConversationId]
End Assertion
Assertion Verify that Receipt Acknowledgment occured within specified 'TimeToAcknowledgeReceipt'VerifyTimeDifferenceBusinessTimeStamp - RequestTimestamp <= PT600S
End Assertion
Retrieve Response message(s) GetMessage/MessageStore/Message//*[eb:MessageHeader[eb:ConversationId=$ConversationId and eb:Action="Mute" ] and [eb:Manifest/eb:Reference/xlink:href="cid:Pip34PurchaseOrderResponse"]]
SetXPathParametername=RefToMessageId expression=/FilterResult/Message/eb:MessageHeader/eb:MessageData/eb:RefToMessageId
Join Thread=thread_02
End Join
Assertion Verify that result contains either a single Confirmation or RejectionVerifyContent/FilterResult/Message[Payload[Confirmation or Rejection]count()='1']
End Assertion
Send a signal AckPutMessage
<mime:Message>
<mime:MessageContainer>
<soap:Envelope>
<soap:Header>
<eb:MessageHeader>
<eb:Action>Acknowledgment</eb:Action>
</eb:MessageHeader>
<eb:Acknowledgment />
</soap:Header>
<soap:Body />
</soap:Envelope>
</mime:MessageContainer>
</mime:Message>
End Thread
End Split
Join Thread=thread_01
End Join