Client Session Handling
Verify that all Client Timestamps are expressed as UTC in all messages
- 52/SendingTime
- 122/OrigSendingTime (resends only)
- 60/TransactTime (Quote, MassQuote, ExecutionReport)
Logon
HeartBtInt
SessionType = RFS
Username/Password - correct
VenueName = ?/?
Session Synchronisation
Client Logon next-expected = MF actual
Receive TestRequest, correctly send Heartbeat response.
Client Logon next-expected < MF actual
Correctly handles resent messages and/or SequenceResetGapFill messages.
Receive TestRequest, correctly send Heartbeat response.
Client Logon next-expected > MF actual
Expect disconnect.
MF LogonResponse next-expected = Client actual
Correctly sends TestRequest, wait for response (this is synchronisation complete).
MF LogonResponse next-expected < Client actual
Correctly resends messages and/or SequenceResetGapFill messages.
MF LogonResponse next-expected > Client actual
Correctly disconnects.
Session Monitoring
Client Heartbeats
In the absence of sending other messages, the Client publishes Heartbeat messages at their specified interval (Logon HeartBtInt)
Client Monitoring of MF Messaging
In the event that no message has been received from MF after the HeartBtInt, the Client
- Correctly timesout and sends TestRequest.
- Correctly timesout and sends Logout.
- Correctly timesout and disconnects.
TestRequest Handling
MF TestRequest: send Heartbeat response.
Venue Connectivity
UserRequest
LogOnUser
UserNotification
ErrorReport
LoggedOn
LoggedOff
Maker RFS Workflow
-focus on _outbound_ message correctness.
QuoteRequest
SPT, FWD, NDF, SWP, NDS, BLK, NDB (FXall)
Allocations
Zero net allocs
Buy/Sell/Two-Way
Base/Term ccy qtys
OFF/SEF/MTF
QuoteResponse
Outbound Client > Venue
Rejection (Minimally Credit check failure vs unsupported pair)
Timeout
Quote - 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
Inbound Venue > Client
Timeout
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