Verify that all Client Timestamps are expressed as UTC in all messages
Client Logon message contains the correct values for:
Receive TestRequest, correctly send Heartbeat response.
Correctly handles resent messages and/or SequenceResetGapFill messages.
Receive TestRequest, correctly send Heartbeat response.
Expect disconnect.
Correctly sends TestRequest, wait for response (this is synchronisation complete).
Correctly resends messages and/or SequenceResetGapFill messages.
Correctly disconnects.
All client sessions must be terminated gracefully.
Client may only issue Logoff when no Venue session is active.
Client waits for reciprocal Logoff message from MF.
Client responds to MF-issued Logoff message with reciprocal Logoff.
In the absence of sending other messages, the Client publishes Heartbeat messages at their specified interval (Logon HeartBtInt)
In the event that no message has been received from MF after the HeartBtInt, the Client
The Client sends a Heartbeat message in response to every MF TestRequest message received.
The sequencing matters.
Client directs MF to connect to Venue.
Message only sent when the client is not currently logged on.
Client receives MF notification of any connectivity problems and planned next action.
Client is notified when Venue connectivity is established.
Client directs MF to disconnect from Venue.
Message may be sent:
Client is notified when Venue connectivity is terminated.
We should focus on outbound message correctness.
Client is able to receive and correctly identify all flavours of RFS requests, i.e. permutations and combinations of the following:
Client should be able to send different rejection reasons, e.g. Credit check failure vs unsupported pair.
Client must be aware of availability of Custom error codes for:
Client should terminate RFSs after a period of time (e.g. 3-5m). The Client timeout may, or may not, match the Venue setting.
Client must be able to handle Venue-termination of active RFS - either due to the Venue stream timeout, or because the counterparty dealt away, or because the counterparty canceled the request.
as per QuoteRequest, plus
QuoteID Uniqueness
Indicative/Tradeable
Regulatory
SEF
MTF
EDM/IDM - missing, wrong, correct - Client must observe and understand the Venue behaviour for each scenario.
OFF
Execution Report
Accept
Reject (e.g. Credit Check failure)
Regulatory
SEF
MTF
OFF
https://confluence.marketfactory.com/download/attachments/11568412/RFQ_Test_Cases_Maker_03072019.xlsx
https://confluence.marketfactory.com/download/attachments/11568420/TCPITestCasesv5%200%20-SEF.xlsx
Venue side (private to MF)
Increase our sequence number
Decrease our sequence number
Decrease the sequence number we expect
Increase the sequence number we expect
Test force disconnect & automatic reconnect of session
Test regular disconnect of session