adding quickfix

This commit is contained in:
Ramiro Paz
2026-03-09 15:35:32 -03:00
parent 0e8fe168ef
commit fe588e92f1
1222 changed files with 1408232 additions and 1 deletions

View File

@ -0,0 +1,15 @@
# GapFill where MsgSeqNum is equal to the expected inbound MsgSeqNum
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# sequence reset with gap fill flag set to Y
I8=FIX.4.435=434=249=TW52=<TIME>56=ISLD36=20123=Y
I8=FIX.4.435=134=2049=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=249=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# logout message and response
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,16 @@
# GapFill where MsgSeqNum is greater than the expected inbound MsgSeqNum
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# sequence reset with gap fill flag set to Y
I8=FIX.4.435=434=1049=TW52=<TIME>56=ISLD36=20123=Y
I8=FIX.4.435=134=2049=TW52=<TIME>56=ISLD112=HELLO
# Resend request for messages 2 to INFINITY
E8=FIX.4.49=5835=234=249=ISLD52=00000000-00:00:00.00056=TW7=216=010=0
# logout message and response
I8=FIX.4.435=534=249=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,15 @@
# GapFill where MsgSeqNum is less than the expected inbound MsgSeqNum
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# sequence reset with gap fill flag set to Y, PosDupFlag set to Y
I8=FIX.4.435=434=149=TW52=<TIME>56=ISLD43=Y122=<TIME-1>36=20123=Y
I8=FIX.4.435=134=249=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=249=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# sequence reset with gap fill flag set to Y, PosDupFlag set to N
I8=FIX.4.435=434=149=TW52=<TIME>56=ISLD36=20123=Y
E8=FIX.4.49=9835=534=349=ISLD52=00000000-00:00:00.00056=TW58=MsgSeqNum too low, expecting 3 but received 110=0
eDISCONNECT

View File

@ -0,0 +1,20 @@
# SequenceReset where NewSeqNo is greater than the expected inbound MsgSeqNum
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# sequence reset without gap fill flag (default to N)
I8=FIX.4.435=434=049=TW52=<TIME>56=ISLD36=25
I8=FIX.4.435=134=2549=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=249=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# sequence reset with gap fill flag set to N
I8=FIX.4.435=434=049=TW52=<TIME>56=ISLD36=50123=N
I8=FIX.4.435=134=5049=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=349=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# logout message and response
I8=FIX.4.435=534=5149=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=449=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,20 @@
# SequenceReset where NewSeqNo is equal to the expected inbound MsgSeqNum
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# sequence reset without gap fill flag (default to N)
I8=FIX.4.435=434=049=TW52=<TIME>56=ISLD36=2
I8=FIX.4.435=134=249=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=249=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# sequence reset with gap fill flag set to N
I8=FIX.4.435=434=049=TW52=<TIME>56=ISLD36=4123=N
I8=FIX.4.435=134=449=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=349=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# logout message and response
I8=FIX.4.435=534=549=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=449=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,24 @@
# SequenceReset where NewSeqNo is less than the expected inbound MsgSeqNum
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# sequence reset without gap fill flag (default to N)
I8=FIX.4.435=434=049=TW52=<TIME>56=ISLD36=1
E8=FIX.4.49=11635=334=249=ISLD52=00000000-00:00:00.00056=TW45=058=Value is incorrect (out of range) for this tag372=4373=510=0
I8=FIX.4.435=134=249=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=349=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# sequence reset without gap fill flag (default to N)
I8=FIX.4.435=434=049=TW52=<TIME>56=ISLD36=1123=N
E8=FIX.4.49=11635=334=449=ISLD52=00000000-00:00:00.00056=TW45=058=Value is incorrect (out of range) for this tag372=4373=510=0
I8=FIX.4.435=134=349=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=549=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# logout message and response
I8=FIX.4.435=534=449=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=649=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,8 @@
# If a logout is received, send a logout
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
I8=FIX.4.435=534=249=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=249=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,42 @@
# @testcase 14.a
# @condition Recieve message with a field identifier (tag number) not defined in the specification (not user defined)
# @expected Send Reject (session-level) message referencing invalid tag number. Increment inbound MsgSeqNum. Generate an error condition in test output.
iCONNECT
# logon message and response
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=2
E8=FIX.4.49=6035=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=210=0
#------------------------
# begin message exchange
#------------------------
# heartbeat message with a field that is not in the specification, but is in the correct range
I8=FIX.4.435=034=249=TW52=<TIME>56=ISLD999=HI
# expect a reject
E8=FIX.4.49=9635=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=Invalid tag number371=999372=0373=010=0
# heartbeat message with a field that is below the valid range for fields
I8=FIX.4.435=034=349=TW52=<TIME>56=ISLD0=HI
# expect a reject
E8=FIX.4.49=9435=334=349=ISLD52=00000000-00:00:00.00056=TW45=358=Invalid tag number371=0372=0373=010=0
# heartbeat message with a field that is negative
I8=FIX.4.435=034=449=TW52=<TIME>56=ISLD-1=HI
# expect a reject
E8=FIX.4.49=9535=334=449=ISLD52=00000000-00:00:00.00056=TW45=458=Invalid tag number371=-1372=0373=010=0
# heartbeat message with a field that is above the valid range for specification defined fields (user defined is not implemented yet)
I8=FIX.4.435=034=549=TW52=<TIME>56=ISLD5000=HI
# expect a reject
E8=FIX.4.49=9735=334=549=ISLD52=00000000-00:00:00.00056=TW45=558=Invalid tag number371=5000372=0373=010=0
#------------------------
# end message exchange
#------------------------
# logout message and response
I8=FIX.4.435=534=649=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=649=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,32 @@
# @testcase 14.b
# @condition Recieve message with a required field identifier (tag number) missing
# @expected Send Reject (session-level) message referencing required tag missing. Increment inbound MsgSeqNum. Generate an error condition in test output.
iCONNECT
# logon message and response
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=2
E8=FIX.4.49=6035=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=210=0
#------------------------
# begin message exchange
#------------------------
# heartbeat message with a required field missing (TargetCompID) in the message header
I8=FIX.4.435=034=249=TW52=<TIME>
# expect a reject
E8=FIX.4.49=9735=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=Required tag missing371=56372=0373=110=0
# order message with a required field missing (ClOrdID)
I8=FIX.4.435=D49=TW34=356=ISLD52=<TIME>40=160=<TIME>54=121=3
# expect a reject
E8=FIX.4.49=9735=334=349=ISLD52=00000000-00:00:00.00056=TW45=358=Required tag missing371=11372=D373=110=0
#------------------------
# end message exchange
#------------------------
# logout message and response
I8=FIX.4.435=534=449=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=449=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,27 @@
# @testcase 14.c
# @condition Recieve message with a field identifier (tag number) which is identified in the specification, but not for this message type. (not user defined)
# @expected Send Reject (session-level) message referencing tag not defined for this message type. Increment inbound MsgSeqNum. Generate an error condition in test output.
iCONNECT
# logon message and response
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=2
E8=FIX.4.49=6035=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=210=0
#------------------------
# begin message exchange
#------------------------
# heartbeat message with a field identified that isn't for this message type
I8=FIX.4.435=034=249=TW52=<TIME>56=ISLD55=MSFT
# expect a reject
E8=FIX.4.49=11435=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=Tag not defined for this message type371=55372=0373=210=0
#-----------------------
# end message exchange
#------------------------
# logout message and response
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,27 @@
# @testcase 14.d
# @condition Recieve message with a field identifier (tag number) specified but no value.
# @expected Send Reject (session-level) message referencing tag specified without a value. Increment inbound MsgSeqNum. Generate an error condition in test output.
iCONNECT
# logon message and response
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=2
E8=FIX.4.49=6035=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=210=0
#------------------------
# begin message exchange
#------------------------
# heartbeat message with a field identified that doesn't have a value
I8=FIX.4.435=034=249=TW52=<TIME>56=
# expect a reject
E8=FIX.4.49=10635=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=Tag specified without a value371=56372=0373=410=0
#------------------------
# end message exchange
#------------------------
# logout message and response
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,36 @@
# @testcase 14e
# @Receive message with incorrect value (out of range or not part of valid list of enumerated values) for a particular field identifier (tag number).
iCONNECT
# logon message and response
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=2
E8=FIX.4.49=6035=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=210=0
#------------------------
# begin message exchange
#------------------------
#New order message with incorrect enum value. Handling instructions (21) = 4
I8=FIX.4.435=D34=249=TW52=<TIME>56=ISLD11=ID21=440=154=138=002000.0055=INTC60=<TIME>
# expect a reject
E8=FIX.4.49=12335=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=Value is incorrect (out of range) for this tag371=21372=D373=510=0
#New order message with incorrect enum value. SecurityType (167) = BOO
I8=FIX.4.435=D34=349=TW52=<TIME>56=ISLD11=ID21=140=154=138=002000.0055=INTC60=<TIME>167=BOO
# expect a reject
E8=FIX.4.49=12435=334=349=ISLD52=00000000-00:00:00.00056=TW45=358=Value is incorrect (out of range) for this tag371=167372=D373=510=0
#New order message with correct enum value. SecurityType (167) = CS
I8=FIX.4.435=D34=449=TW52=<TIME>56=ISLD11=ID21=140=154=138=002000.0055=INTC60=<TIME>167=CS
# do not expect a reject
E8=FIX.4.49=11935=D34=449=ISLD52=20020619-16:14:1056=TW11=ID21=138=002000.0040=154=155=INTC60=00000000-00:00:00167=CS10=0
#------------------------
# end message exchange
#------------------------
# logout message and response
I8=FIX.4.435=534=549=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=549=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,25 @@
# @testcase 14f
# @Receive message with a value in an incorrect data format (syntax) for a particular field identifier (tag number).
iCONNECT
# logon message and response
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=2
E8=FIX.4.49=6035=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=210=0
#------------------------
# begin message exchange
#------------------------
#New order message with incorrect value. Qty (38) has a leading + sign
I8=FIX.4.435=D34=249=TW52=<TIME>56=ISLD11=ID21=140=154=138=+200.0055=INTC60=<TIME>
# expect a reject
E8=FIX.4.49=10835=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=Incorrect data format for value371=38372=D373=610=0
#------------------------
# end message exchange
#------------------------
# logout message and response
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,32 @@
# @testcase 14.g
# @condition Recieve message in which the following are not true: header+body+trailer is the order
# @expected Send Reject (session-level) message referencing incorrect message structure. Increment inbound MsgSeqNum. Generate an error condition in test output.
iCONNECT
# logon message and response
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=2
E8=FIX.4.49=6035=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=210=0
#------------------------
# begin message exchange
#------------------------
# new order message with all body tags first
I8=FIX.4.435=D11=id21=340=154=155=MSFT60=<TIME>34=249=TW52=<TIME>56=ISLD
# expect a reject
E8=FIX.4.49=11335=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=Tag specified out of required order371=34372=D373=1410=0
# new order message with one body tag first
I8=FIX.4.435=D55=MSFT34=349=TW52=<TIME>56=ISLD11=id21=340=154=160=<TIME>
# expect a reject
E8=FIX.4.49=11335=334=349=ISLD52=00000000-00:00:00.00056=TW45=358=Tag specified out of required order371=34372=D373=1410=0
#------------------------
# end message exchange
#------------------------
# logout message and response
I8=FIX.4.435=534=449=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=449=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,26 @@
# @testcase 14h
# @Receive a message in which a field identifier (tag number) which is not part of a repeating group is specified more than once
iCONNECT
# logon message and response
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=2
E8=FIX.4.49=6035=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=210=0
#------------------------
# begin message exchange
#------------------------
#New order message with incorrect value. Side (40) is repeated, not part of repeating group
I8=FIX.4.435=D34=249=TW52=<TIME>56=ISLD11=ID21=140=140=254=138=200.0055=INTC60=<TIME>
# expect a reject
E8=FIX.4.49=10435=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=Tag appears more than once371=40372=D373=1310=0
#------------------------
# end message exchange
#------------------------
# logout message and response
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,26 @@
# @testcase 14i
# @Receive a message with repeating groups in which the "count" field value for a repeating group is incorrect.
iCONNECT
# logon message and response
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=2
E8=FIX.4.49=6035=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=210=0
#------------------------
# begin message exchange
#------------------------
#New order message with incorrect repeating group "count". NoTradingSessions (386)
I8=FIX.4.435=D34=249=TW52=<TIME>56=ISLD11=ID21=140=154=138=200.0055=INTC386=3336=PRE-OPEN336=AFTER-HOURS60=<TIME>
# expect a reject
E8=FIX.4.49=12535=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=Incorrect NumInGroup count for repeating group371=386372=D373=1610=0
#------------------------
# end message exchange
#------------------------
# logout message and response
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,32 @@
# @testcase 15 - Send application or administrative messages to test normal and abnormal behavior/response
# @condition Send more than one message of the same type with header and body fields ordered differently to verify acceptance. (Excluding those which have restrictions regarding order)
# @expected Messages accepted and subsequent messages' MsgSeqNum are accepted
iCONNECT
# logon message and response
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=2
E8=FIX.4.49=6035=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=210=0
#------------------------
# begin message exchange
#------------------------
# new order message
I8=FIX.4.435=D34=249=TW52=<TIME>56=ISLD11=id21=340=154=155=MSFT60=<TIME>
# expect
E8=FIX.4.49=9935=D34=249=ISLD52=00000000-00:00:00.00056=TW11=id21=340=154=155=MSFT60=00000000-00:00:0010=0
# new order message with header and body fields in different order
I8=FIX.4.435=D49=TW34=356=ISLD52=<TIME>40=155=MSFT60=<TIME>54=121=311=id
# expect
E8=FIX.4.49=9935=D34=349=ISLD52=00000000-00:00:00.00056=TW11=id21=340=154=155=MSFT60=00000000-00:00:0010=0
#------------------------
# end message exchange
#------------------------
# logout message and response
I8=FIX.4.435=534=449=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=449=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,30 @@
# @testcase 19.a - Test PossResend handling
# @condition Receive messagewith PossResend = 'Y' and application-level check of Message specific ID indicates that it has already been seen on this session
# @expected Ignore the message
iCONNECT
# logon message and response
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=2
E8=FIX.4.49=6035=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=210=0
#------------------------
# begin message exchange
#------------------------
# new order message
I8=FIX.4.435=D34=249=TW52=<TIME>56=ISLD11=id21=340=154=155=MSFT60=<TIME>
# expect
E8=FIX.4.49=9935=D34=249=ISLD52=00000000-00:00:00.00056=TW11=id21=340=154=155=MSFT60=00000000-00:00:0010=0
# sending the same message with PossResend flag set
I8=FIX.4.435=D34=349=TW52=<TIME>56=ISLD97=Y11=id21=340=154=155=MSFT60=<TIME>
#------------------------
# end message exchange
#------------------------
# logout message and response
I8=FIX.4.435=534=449=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,27 @@
# @testcase 19.b - Test PossResend handling
# @condition Receive messagewith PossResend = 'Y' and application-level check of Message specific ID indicates that it has NOT been seen on this session
# @expected Accept and process the message normally
iCONNECT
# logon message and response
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=2
E8=FIX.4.49=6035=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=210=0
#------------------------
# begin message exchange
#------------------------
# sending the same message with PossResend flag set
I8=FIX.4.435=D34=249=TW52=<TIME>56=ISLD97=Y11=id21=340=154=155=MSFT60=<TIME>
# expect
E8=FIX.4.49=10435=D34=249=ISLD52=00000000-00:00:00.00056=TW97=Y11=id21=340=154=155=MSFT60=00000000-00:00:0010=0
#------------------------
# end message exchange
#------------------------
# logout message and response
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,12 @@
# if the message sequence number is too high, respond with long and send
# resend request
iCONNECT
I8=FIX.4.435=A34=549=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
E8=FIX.4.49=5835=234=249=ISLD52=00000000-00:00:00.00056=TW7=116=010=0
# logout message and response
I8=FIX.4.435=534=649=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,11 @@
# When we receive a valid logon, we must respond with one
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# logout message and response
I8=FIX.4.435=534=249=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=249=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,16 @@
# If two logons with the same SenderCompID/TargetCompID combination logon
# the second one must be disconnected
# First logon, succesful
i1,CONNECT
I1,8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E1,8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# Second logon, unsuccesful
i2,CONNECT
I2,8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
# wait for disconnect for second connection
e2,DISCONNECT
# force disconnect on first connection
i1,DISCONNECT

View File

@ -0,0 +1,5 @@
# If a bad SenderCompID is used, we must disconnect
iCONNECT
I8=FIX.4.435=A34=149=WT52=<TIME>56=ISLD98=0108=30
eDISCONNECT

View File

@ -0,0 +1,5 @@
# If a bad TargetCompID is used, we must disconnect
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=DLSI98=0108=30
eDISCONNECT

View File

@ -0,0 +1,5 @@
# Disconnect if we receive a bad sending time
iCONNECT
I8=FIX.4.435=A34=149=TW52=20010101-00:00:0056=ISLD98=0108=30
eDISCONNECT

View File

@ -0,0 +1,5 @@
# If the length of a logon message is invalid, we must disconnect
iCONNECT
I8=FIX.4.49=4035=A34=149=TW52=<TIME>56=ISLD98=0108=30
eDISCONNECT

View File

@ -0,0 +1,5 @@
# Disconnect if we receive a bad begin string
iCONNECT
I8=FIX.3.935=A34=149=TW52=<TIME>56=ISLD98=0108=30
eDISCONNECT

View File

@ -0,0 +1,5 @@
# If first message is not a Logon, we must disconnect
iCONNECT
I8=FIX.4.435=034=149=TW52=<TIME>56=DLSI
eDISCONNECT

View File

@ -0,0 +1,33 @@
# If message sequence number is too high, send a resend request for
# missing messages
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
I8=FIX.4.435=D34=249=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
E8=FIX.4.49=9935=D34=249=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=INTC60=00000000-00:00:0010=0
I8=FIX.4.435=D34=349=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
E8=FIX.4.49=9935=D34=349=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=INTC60=00000000-00:00:0010=0
# Sending message 7 when last message sent was 3
I8=FIX.4.435=034=749=TW52=<TIME>56=ISLD
# Receive Resend request for messages 4 to 6
E8=FIX.4.49=5835=234=449=ISLD52=00000000-00:00:00.00056=TW7=416=010=0
# Send Resend request for messages 2 to 3
I8=FIX.4.435=234=849=TW52=<TIME>56=ISLD7=216=3
E8=FIX.4.49=13035=D34=243=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=INTC60=00000000-00:00:0010=0
E8=FIX.4.49=13035=D34=343=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=INTC60=00000000-00:00:0010=0
I8=FIX.4.435=034=443=Y49=TW52=<TIME>122=<TIME>56=ISLD
I8=FIX.4.435=034=543=Y49=TW52=<TIME>122=<TIME>56=ISLD
I8=FIX.4.435=034=643=Y49=TW52=<TIME>122=<TIME>56=ISLD
# logout message and response
I8=FIX.4.435=534=749=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=549=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,27 @@
# @testcase 21
# @condition Recieve message with a repeating group specifier set to zero indicating that there are no members in the repeating group. This is the symantic used by CBOEDirect.
# @expected Process the message
iCONNECT
# logon message and response
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=2
E8=FIX.4.49=6035=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=210=0
#------------------------
# begin message exchange
#------------------------
# Receive a Security Definition message with repeating group specifiers set to zero (454)
I8=FIX.4.435=d34=249=TW56=ISLD52=<TIME>320=JCD1091-20021011322=1034356488676323=655=TBS22=8167=CS336=ONE_MAIN58=No Products found for this Class Symbol454=0
# expect the message to be processed
E8=FIX.4.49=17535=d34=249=ISLD52=00000000-00:00:00.00056=TW22=855=TBS58=No Products found for this Class Symbol167=CS320=JCD1091-20021011322=1034356488676323=6336=ONE_MAIN454=010=0
#------------------------
# end message exchange
#------------------------
# logout message and response
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,15 @@
# Send messages with incrementing sequence numbers
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
I8=FIX.4.435=034=249=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=349=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=449=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=549=TW52=<TIME>56=ISLD
# logout message and response
I8=FIX.4.435=534=649=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=249=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,28 @@
# If message sequence number is too high, send a resend request for
# missing messages
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
I8=FIX.4.435=034=249=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=349=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=449=TW52=<TIME>56=ISLD
# Sending message 10 when last message send was 4
I8=FIX.4.435=034=1049=TW52=<TIME>56=ISLD
# Resend request for messages 5 to 9
E8=FIX.4.49=5835=234=249=ISLD52=00000000-00:00:00.00056=TW7=516=010=0
# Send the messages
I8=FIX.4.435=034=549=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=649=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=749=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=849=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=949=TW52=<TIME>56=ISLD
# logout message and response
I8=FIX.4.435=534=1149=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,12 @@
# If message sequence number is too low, we must disconnect
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
I8=FIX.4.435=034=249=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=349=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=449=TW52=<TIME>56=ISLD
# Message 2 was already sent
I8=FIX.4.435=034=249=TW52=<TIME>56=ISLD
E8=FIX.4.49=9835=534=249=ISLD52=00000000-00:00:00.00056=TW58=MsgSeqNum too low, expecting 5 but received 210=0
eDISCONNECT

View File

@ -0,0 +1,27 @@
# If message is garbled, it should be ignored
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.435=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=30
# Garbled message
I8=FIX.4.49=5235=034=24garbled9=TW52=<TIME>56=ISLD10=0
# Corrected message
I8=FIX.4.435=034=249=TW52=<TIME>56=ISLD
# Garbled message
I8=FIX.4.49=8135=D34=349garbled=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC10=0
# Correct message with new sequence number
I8=FIX.4.435=034=449=TW52=<TIME>56=ISLD
# Resend request for missed message
E8=FIX.4.49=5835=234=249=ISLD52=00000000-00:00:00.00056=TW7=316=010=0
# Send requested message
I8=FIX.4.435=D34=349=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
E8=FIX.4.49=9935=D34=349=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=INTC60=00000000-00:00:0010=0
# logout message and response
I8=FIX.4.435=534=549=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=449=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,14 @@
# Duplicate sequence number was received, and PossDup is set to 'Y'
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=7
I8=FIX.4.435=034=249=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=249=TW52=<TIME>122=<TIME>56=ISLD43=Y112=<TIME>
I8=FIX.4.435=034=349=TW52=<TIME>56=ISLD
# logout message and response
I8=FIX.4.435=534=449=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=249=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,17 @@
# Duplicate sequence number was not received, and PossDup is set to 'Y'
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
I8=FIX.4.435=034=249=TW52=<TIME>56=ISLD
# Already received, this should be ignored
I8=FIX.4.435=034=249=TW52=<TIME>122=<TIME>56=ISLD43=Y
# Not yet received, this should be processed
I8=FIX.4.435=034=349=TW52=<TIME>122=<TIME>56=ISLD43=Y
# logout message and response
I8=FIX.4.435=534=449=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=249=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,22 @@
# PossDupFlag is set to 'Y', OrigSendingTime is greater than SendingTime, and
# MsgSeqNum is too low. A Reject and Logout must be sent.
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# send two orders in sequence
I8=FIX.4.435=D34=249=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
E8=FIX.4.49=9935=D34=249=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=INTC60=00000000-00:00:0010=0
I8=FIX.4.435=D34=349=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
E8=FIX.4.49=9935=D34=349=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=INTC60=00000000-00:00:0010=0
# resend message 2 with larger OrigSendingTime
I8=FIX.4.435=D34=249=TW52=<TIME>56=ISLD43=Y122=<TIME+10>11=ID21=340=154=155=INTC60=<TIME>
# reject message
E8=FIX.4.49=9935=334=449=ISLD52=00000000-00:00:00.00056=TW45=258=SendingTime accuracy problem372=D373=1010=0
# logout message
E8=FIX.4.49=4935=534=549=ISLD52=00000000-00:00:00.00056=TW10=0
I8=FIX.4.435=534=449=TW52=<TIME>56=ISLD
eDISCONNECT

View File

@ -0,0 +1,27 @@
# PossDupFlag is set to 'Y', OrigSendingTime is does not exist
# A Reject message must be sent.
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# send two orders in sequence
I8=FIX.4.435=D34=249=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
E8=FIX.4.49=9935=D34=249=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=INTC60=00000000-00:00:0010=0
I8=FIX.4.435=D34=349=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
E8=FIX.4.49=9935=D34=349=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=INTC60=00000000-00:00:0010=0
# resend message 2 with no OrigSendingTime
I8=FIX.4.435=D34=249=TW52=<TIME>56=ISLD43=Y11=ID21=340=154=155=INTC60=<TIME>
# reject message
E8=FIX.4.49=9835=334=449=ISLD52=00000000-00:00:00.00056=TW45=258=Required tag missing371=122372=D373=110=0
# make sure sequence number no incremented
I8=FIX.4.435=134=449=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=549=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# logout message
I8=FIX.4.435=534=549=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=649=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,20 @@
# Send message with invalid BeginString
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# Send with incorrect begin string and respond to logout
I8=FIX.4.135=134=249=TW52=<TIME>56=ISLD112=id
E8=FIX.4.49=7435=534=249=ISLD52=00000000-00:00:00.00056=TW58=Incorrect BeginString10=0
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
eDISCONNECT
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# Send with incorrect begin string and don't respond to logout
I8=FIX.4.135=134=249=TW52=<TIME>56=ISLD112=id
E8=FIX.4.49=7435=534=249=ISLD52=00000000-00:00:00.00056=TW58=Incorrect BeginString10=0
eDISCONNECT

View File

@ -0,0 +1,47 @@
# SenderCompID is invalid. We must reject message and send a logout
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# send order with bad SenderCompID
I8=FIX.4.435=D34=249=WT52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
# reject message
E8=FIX.4.49=8435=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=CompID problem372=D373=910=0
# logout message
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
eDISCONNECT
# TargetCompID is invalid
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# send order with bad TargetCompID
I8=FIX.4.435=D34=249=TW52=<TIME>56=DLSI11=ID21=340=154=155=INTC60=<TIME>
# reject message
E8=FIX.4.49=8435=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=CompID problem372=D373=910=0
# logout message
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
eDISCONNECT
# SenderCompID and TargetCompID is invalid
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# send order with bad SenderCompID and TargetCompID
I8=FIX.4.435=D34=249=WT52=<TIME>56=DLSI11=ID21=340=154=155=INTC60=<TIME>
# reject message
E8=FIX.4.49=8435=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=CompID problem372=D373=910=0
# logout message
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
eDISCONNECT

View File

@ -0,0 +1,34 @@
# If message with an invalid length is sent, we must ignore it
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# Send a message with a length that is too short
I8=FIX.4.49=3035=D34=249=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
# Follow with a valid FIX message
I8=FIX.4.435=D34=349=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
# Invalid message was ignored, and valid one was processed. Therefore
# we should expect a resend request
E8=FIX.4.49=5835=234=249=ISLD52=00000000-00:00:00.00056=TW7=216=010=0
# Correctly resend the bad message we sent before
I8=FIX.4.435=D34=249=TW52=<TIME>56=ISLD122=<TIME>11=ID21=340=154=155=INTC60=<TIME>
E8=FIX.4.49=9935=D34=349=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=INTC60=00000000-00:00:0010=0
E8=FIX.4.49=9935=D34=449=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=INTC60=00000000-00:00:0010=0
# Send a message with a length that is too long, it will combine with the next message
# and be ignored
I8=FIX.4.49=11135=D34=449=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
I8=FIX.4.435=D34=549=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
# sending the last bad message correctly
I8=FIX.4.435=D34=449=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
I8=FIX.4.435=D34=549=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
E8=FIX.4.49=9935=D34=549=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=INTC60=00000000-00:00:0010=0
E8=FIX.4.49=9935=D34=649=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=INTC60=00000000-00:00:0010=0
# logout message and response
I8=FIX.4.435=534=749=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=749=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,25 @@
# SendingTime is too small, reject
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# send heartbeat more than 2 minutes early
I8=FIX.4.435=034=249=TW52=<TIME-121>56=ISLD
# reject and logoff
E8=FIX.4.49=9935=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=SendingTime accuracy problem372=0373=1010=0
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
eDISCONNECT
# SendingTime is too large, reject
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# send heartbeat more than 2 minutes late
I8=FIX.4.435=034=249=TW52=<TIME+121>56=ISLD
# reject and logoff
E8=FIX.4.49=9935=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=SendingTime accuracy problem372=0373=1010=0
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
eDISCONNECT

View File

@ -0,0 +1,13 @@
# Send message with invalid MsgType
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
I8=FIX.4.435=*34=249=TW52=<TIME>56=ISLD
# reject
E8=FIX.4.49=8635=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=Invalid MsgType372=*373=1110=0
# logoff
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,13 @@
# Message type is not supported by the application
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
I8=FIX.4.435=834=249=TW52=<TIME>56=ISLD37=id17=id150=039=055=WLRI54=1151=10014=06=0.0
E8=FIX.4.49=9435=j34=249=ISLD52=00000000-00:00:00.00056=TW45=258=Unsupported Message Type372=8380=310=0
# logout
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,20 @@
# Send messages BeginString, BodyLength and MsgType in wrong order
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# 35 is first, should be second
I35=08=FIX.4.49=2934=249=TW52=<TIME>56=ISLD10=121
I8=FIX.4.435=134=249=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=249=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# 34 is second, should be third
I8=FIX.4.434=335=049=TW52=<TIME>56=ISLD
I8=FIX.4.435=134=349=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=349=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# logout message and response
I8=FIX.4.435=534=449=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=449=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,24 @@
# If message has incorrect checksum, it should be ignored
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=7
# Incorrect checksum
I8=FIX.4.435=034=249=TW52=<TIME>56=ISLD10=256
# Correct checksum
I8=FIX.4.435=034=249=TW52=<TIME>56=ISLD
# Incorrect checksum
I8=FIX.4.435=D34=349=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC10=256
I8=FIX.4.435=034=449=TW52=<TIME>56=ISLD
# Resend request for missed message
E8=FIX.4.49=5835=234=249=ISLD52=00000000-00:00:00.00056=TW7=316=010=0
I8=FIX.4.435=D34=349=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
E8=FIX.4.49=9935=D34=349=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=INTC60=00000000-00:00:00
# logout message and response
I8=FIX.4.435=534=449=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=449=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,26 @@
# If message is garbled, it should be ignored
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.435=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=30
# Garbled message
I8=FIX.4.49=5235=034=24garbled9=TW52=<TIME>56=ISLD10=0
# Corrected message
I8=FIX.4.435=034=249=TW52=<TIME>56=ISLD
# Garbled message
I8=FIX.4.49=8135=D34=349garbled=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC10=0
# Correct message with new sequence number
I8=FIX.4.435=034=449=TW52=<TIME>56=ISLD
# Resend request for missed message
E8=FIX.4.49=5835=234=249=ISLD52=00000000-00:00:00.00056=TW7=316=010=0
# Send requested message
I8=FIX.4.435=D34=349=TW52=<TIME>56=ISLD122=<TIME>11=ID21=338=10040=154=155=INTC60=<TIME>
E8=FIX.4.435=D34=349=ISLD52=00000000-00:00:00.00056=TW11=ID21=338=10040=154=155=INTC60=00000000-00:00:00
# logout message and response
I8=FIX.4.435=534=449=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=449=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,23 @@
# We should expect heartbeats if we wait around
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=6
E8=FIX.4.49=6035=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=610=0
# Wait for quickfix to send a heartbeat to us
E8=FIX.4.49=4935=034=249=ISLD52=00000000-00:00:00.00056=TW10=0
# we respond with a heartbeat
I8=FIX.4.435=034=249=TW52=<TIME>56=ISLD
# we should get a heartbeat back
E8=FIX.4.49=4935=034=349=ISLD52=00000000-00:00:00.00056=TW10=0
# we will send one more for good measure
I8=FIX.4.435=034=349=TW52=<TIME>56=ISLD
# logout message and response
I8=FIX.4.435=534=449=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=449=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,12 @@
# If a test request is received, a matching heartbeat should be sent
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
I8=FIX.4.435=134=249=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=249=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# logout message and response
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,24 @@
# If a heartbeat is not sent to the target, a test request should be received
# and we should eventually timeout
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=6
E8=FIX.4.49=6035=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=610=0
# wait for two heartbeats
E8=FIX.4.49=4935=034=249=ISLD52=00000000-00:00:00.00056=TW10=0
I8=FIX.4.435=034=249=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=034=349=ISLD52=00000000-00:00:00.00056=TW10=0
# wait for test request
E8=FIX.4.49=5835=134=449=ISLD52=00000000-00:00:00.00056=TW112=TEST10=210
I8=FIX.4.435=034=349=TW52=<TIME>56=ISLD112=TEST
# wait for two heartbeats
E8=FIX.4.49=4935=034=549=ISLD52=00000000-00:00:00.00056=TW10=0
I8=FIX.4.435=034=449=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=034=649=ISLD52=00000000-00:00:00.00056=TW10=0
# wait for test request and disconnect
E8=FIX.4.49=5835=134=749=ISLD52=00000000-00:00:00.00056=TW112=TEST10=213
eDISCONNECT

View File

@ -0,0 +1,12 @@
# Increment MsgSeqNum if a reject is sent
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# reject
I8=FIX.4.435=334=249=TW52=<TIME>56=ISLD45=1
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=249=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,71 @@
# ResendRequest message requesting Admin messages
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# Admin messages 2-4
I8=FIX.4.435=134=249=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=249=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
I8=FIX.4.435=134=349=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=349=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
I8=FIX.4.435=134=449=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=449=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# Application Messages 5-6
I8=FIX.4.435=D34=549=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
E8=FIX.4.49=9935=D34=549=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=INTC60=00000000-00:00:0010=0
I8=FIX.4.435=D34=649=TW52=<TIME>56=ISLD11=ID21=340=154=155=CDG60=<TIME>
E8=FIX.4.49=9835=D34=649=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=CDG60=00000000-00:00:0010=0
# Admin Messages 7-8
I8=FIX.4.435=134=749=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=749=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
I8=FIX.4.435=134=849=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=849=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# Application Messages 9
I8=FIX.4.435=D34=949=TW52=<TIME>56=ISLD11=ID21=340=154=155=IVP60=<TIME>
E8=FIX.4.49=9835=D34=949=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=IVP60=00000000-00:00:0010=0
# Admin messages 2-4
I8=FIX.4.435=234=1049=TW52=<TIME>56=ISLD7=216=4
E8=FIX.4.49=9135=434=243=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00036=5123=Y10=0
# Admin messages 2-4, App messages 5-6
I8=FIX.4.435=234=1149=TW52=<TIME>56=ISLD7=216=6
E8=FIX.4.49=9135=434=243=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00036=5123=Y10=0
E8=FIX.4.49=13035=D34=543=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=INTC60=00000000-00:00:0010=0
E8=FIX.4.49=12935=D34=643=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=CDG60=00000000-00:00:0010=0
# Admin messages 2-4, App messages 5-6, Admin messages 7-8
I8=FIX.4.435=234=1249=TW52=<TIME>56=ISLD7=216=8
E8=FIX.4.49=9135=434=243=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00036=5123=Y10=0
E8=FIX.4.49=13035=D34=543=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=INTC60=00000000-00:00:0010=0
E8=FIX.4.49=12935=D34=643=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=CDG60=00000000-00:00:0010=0
E8=FIX.4.49=9135=434=743=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00036=9123=Y10=0
# Admin messages 2-4, App messages 5-6, Admin messages 7-8, App message 9
I8=FIX.4.435=234=1349=TW52=<TIME>56=ISLD7=216=9
E8=FIX.4.49=9135=434=243=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00036=5123=Y10=0
E8=FIX.4.49=13035=D34=543=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=INTC60=00000000-00:00:0010=0
E8=FIX.4.49=12935=D34=643=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=CDG60=00000000-00:00:0010=0
E8=FIX.4.49=9135=434=743=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00036=9123=Y10=0
E8=FIX.4.49=12935=D34=943=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=IVP60=00000000-00:00:0010=0
# Request message to 0 (infinity)
I8=FIX.4.435=234=1449=TW52=<TIME>56=ISLD7=216=0
E8=FIX.4.49=9135=434=243=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00036=5123=Y10=0
E8=FIX.4.49=13035=D34=543=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=INTC60=00000000-00:00:0010=0
E8=FIX.4.49=12935=D34=643=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=CDG60=00000000-00:00:0010=0
E8=FIX.4.49=9135=434=743=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00036=9123=Y10=0
E8=FIX.4.49=12935=D34=943=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=IVP60=00000000-00:00:0010=0
# make sure our seq numbers are still correct
I8=FIX.4.435=134=1549=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=6035=034=1049=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# logout message and response
I8=FIX.4.435=534=1649=TW52=<TIME>56=ISLD
E8=FIX.4.49=5035=534=1149=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,28 @@
# ResendRequest message requesting Admin messages
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
I8=FIX.4.435=134=249=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=249=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
I8=FIX.4.435=134=349=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=349=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
I8=FIX.4.435=134=449=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=449=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# Only admin messages requested, expect one gap fill
I8=FIX.4.435=234=549=TW52=<TIME>56=ISLD7=116=4
E8=FIX.4.49=9135=434=143=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00036=5123=Y10=0
# make sure our seq numbers are still correct
I8=FIX.4.435=134=649=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=549=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# Request message to 0 (infinity)
I8=FIX.4.435=234=549=TW52=<TIME>56=ISLD7=116=0
E8=FIX.4.49=9135=434=143=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00036=6123=Y10=0
# logout message and response
I8=FIX.4.435=534=649=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=649=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,34 @@
# ResendRequest message requesting Application messages
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
I8=FIX.4.435=D34=249=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC60=<TIME>
E8=FIX.4.49=9935=D34=249=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=INTC60=00000000-00:00:0010=0
I8=FIX.4.435=D34=349=TW52=<TIME>56=ISLD11=ID21=340=154=155=CDG60=<TIME>
E8=FIX.4.49=9835=D34=349=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=CDG60=00000000-00:00:0010=0
I8=FIX.4.435=D34=449=TW52=<TIME>56=ISLD11=ID21=340=154=155=IVP60=<TIME>
E8=FIX.4.49=9835=D34=449=ISLD52=00000000-00:00:00.00056=TW11=ID21=340=154=155=IVP60=00000000-00:00:0010=0
# Only application messages requested, all should be resent
I8=FIX.4.435=234=549=TW52=<TIME>56=ISLD7=216=4
E8=FIX.4.49=13035=D34=243=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=INTC60=00000000-00:00:0010=0
E8=FIX.4.49=12935=D34=343=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=CDG60=00000000-00:00:0010=0
E8=FIX.4.49=12935=D34=443=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=IVP60=00000000-00:00:0010=0
# make sure our seq numbers are still correct
I8=FIX.4.435=134=649=TW52=<TIME>56=ISLD112=HELLO
E8=FIX.4.49=5935=034=549=ISLD52=00000000-00:00:00.00056=TW112=HELLO10=0
# Request message to 0 (infinity)
I8=FIX.4.435=234=749=TW52=<TIME>56=ISLD7=216=0
E8=FIX.4.49=13035=D34=243=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=INTC60=00000000-00:00:0010=0
E8=FIX.4.49=12935=D34=343=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=CDG60=00000000-00:00:0010=0
E8=FIX.4.49=12935=D34=443=Y49=ISLD52=00000000-00:00:00.00056=TW122=00000000-00:00:00.00011=ID21=340=154=155=IVP60=00000000-00:00:0010=0
E8=FIX.4.49=9135=434=543=Y49=ISLD52=20040227-19:56:4856=TW122=00000000-00:00:00.00036=6123=Y10=068
# logout message and response
I8=FIX.4.435=534=849=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=649=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,14 @@
# When we receive a valid logon, we must respond with one
i1,CONNECT
I1,8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E1,8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
i2,CONNECT
I2,8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
e2,DISCONNECT
# logout message and response
I1,8=FIX.4.435=534=249=TW52=<TIME>56=ISLD
E1,8=FIX.4.49=4935=534=249=ISLD52=00000000-00:00:00.00056=TW10=0
e1,DISCONNECT

View File

@ -0,0 +1,26 @@
# Reject resent message
iCONNECT
#Logon
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
# send in a test request one number too high
I8=FIX.4.435=134=349=TW52=<TIME>56=ISLD112=HELLO1
# receive resend request for message 2
E8=FIX.4.49=5835=234=249=ISLD52=00000000-00:00:00.00056=TW7=216=010=0
# send order with badly formatted field 128
I8=FIX.4.435=D34=243=Y49=TW52=<TIME>56=ISLD122=<TIME>11=ID21=338=10040=154=155=IVP60=<TIME>126=20040415
# receive session reject
E8=FIX.4.49=10935=334=349=ISLD52=00000000-00:00:00.00056=TW45=258=Incorrect data format for value371=126372=D373=610=245
# send in a second test request, tests requests should be processed in order
I8=FIX.4.435=134=449=TW52=<TIME>56=ISLD112=HELLO2
E8=FIX.4.49=6035=034=449=ISLD52=00000000-00:00:00.00056=TW112=HELLO110=0
E8=FIX.4.49=6035=034=549=ISLD52=00000000-00:00:00.00056=TW112=HELLO210=0
# logout message and response
I8=FIX.4.435=534=1149=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=649=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,42 @@
# Reverse routing fields on rejects
iCONNECT
#Logon
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# Send an order with OnBehalfOfCompID (115) set with bad field value 40=w
I8=FIX.4.435=D34=249=TW52=<TIME>56=ISLD115=JCD11=ID21=338=10040=w54=155=INTC60=<TIME>
# Expect to see a reject with reverse route DeliverToCompID (128) set
E8=FIX.4.49=13135=334=249=ISLD52=00000000-00:00:00.00056=TW128=JCD45=258=Value is incorrect (out of range) for this tag371=40372=D373=510=0
# Send an order with DeliverToCompID (128) set with bad field value 40=w
I8=FIX.4.435=D34=349=TW52=<TIME>56=ISLD128=JCD11=ID21=338=10040=w54=155=INTC60=<TIME>
# Expect to see a reject with reverse route OnBehalfOfCompID (115) set
E8=FIX.4.49=13135=334=349=ISLD52=00000000-00:00:00.00056=TW115=JCD45=358=Value is incorrect (out of range) for this tag371=40372=D373=510=0
# Send an order with OnBehalfOfCompID (115) and OnBehalfOfSubID (116) set with bad field value 40=w
I8=FIX.4.435=D34=449=TW52=<TIME>56=ISLD115=JCD116=CS11=ID21=338=10040=w54=155=INTC60=<TIME>
# Expect to see a reject with reverse route DeliverToCompID (128) and DeliverToSubID (129) set
E8=FIX.4.49=13835=334=449=ISLD52=00000000-00:00:00.00056=TW128=JCD129=CS45=458=Value is incorrect (out of range) for this tag371=40372=D373=510=0
# Send an order with DeliverToCompID (128) and DeliverToSubID (129) set with bad field value 40=w
I8=FIX.4.435=D34=549=TW52=<TIME>56=ISLD128=JCD129=CS11=ID21=338=10040=w54=155=INTC60=<TIME>
# Expect to see reverse route OnBehalfOfCompID (115) and OnBehalfOfSubID (116) set
E8=FIX.4.49=13835=334=549=ISLD52=00000000-00:00:00.00056=TW115=JCD116=CS45=558=Value is incorrect (out of range) for this tag371=40372=D373=510=0
# Send an order with OnBehalfOfCompID (115) and OnBehalfOfSubID (116) and OnBehalfOfLocationID (144) set with bad field value 40=w
I8=FIX.4.435=D34=649=TW52=<TIME>56=ISLD115=JCD116=CS144=CHI11=ID21=338=10040=w54=155=INTC60=<TIME>
# Expect to see reverse route DeliverToCompID (128) and DeliverToSubID (129) and DeliverToLocationID (145) set
E8=FIX.4.49=14635=334=649=ISLD52=00000000-00:00:00.00056=TW128=JCD129=CS145=CHI45=658=Value is incorrect (out of range) for this tag371=40372=D373=510=0
# Send an order with DeliverToCompID (128) and DeliverToSubID (129) and DeliverToLocationID (145) set with bad field value 40=w
I8=FIX.4.435=D34=749=TW52=<TIME>56=ISLD128=JCD129=CS145=CHI11=ID21=338=10040=w54=155=INTC60=<TIME>
# Expect to see reverse route OnBehalfOfCompID (115) and OnBeHalfOfSubID (116) and OnBehalfOfLocationID (144) set
E8=FIX.4.49=14635=334=749=ISLD52=20040503-17:56:01.00056=TW115=JCD116=CS144=CHI45=758=Value is incorrect (out of range) for this tag371=40372=D373=510=0
# logout message and response
I8=FIX.4.435=534=849=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=849=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,41 @@
# Do not reverse routing field if it is empty
iCONNECT
#Logon
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
# Send an order with OnBehalfOfCompID (115) empty
I8=FIX.4.435=D34=249=TW52=<TIME>56=ISLD115=11=ID21=338=10040=154=155=INTC60=<TIME>
# Expect to see a reject with reverse route DeliverToCompID (128) not present
E8=FIX.4.49=10735=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=Tag specified without a value371=115372=D373=410=0
# Send an order with DeliverToCompID (128) empty
I8=FIX.4.435=D34=349=TW52=<TIME>56=ISLD128=11=ID21=338=10040=154=155=INTC60=<TIME>
# Expect to see a reject with reverse route OnBehalfOfCompID (115) not present
E8=FIX.4.49=10735=334=349=ISLD52=00000000-00:00:00.00056=TW45=358=Tag specified without a value371=128372=D373=410=0
# Send an order with OnBehalfOfCompID (115) and OnBehalfOfSubID (116) empty
I8=FIX.4.435=D34=449=TW52=<TIME>56=ISLD115=JCD116=11=ID21=338=10040=154=155=INTC60=<TIME>
# Expect to see a reject with reverse route DeliverToCompID (128) set and DeliverToSubID (129) not present
E8=FIX.4.49=11535=334=449=ISLD52=00000000-00:00:00.00056=TW128=JCD45=458=Tag specified without a value371=116372=D373=410=0
# Send an order with DeliverToCompID (128) and DeliverToSubID (129) empty
I8=FIX.4.435=D34=549=TW52=<TIME>56=ISLD128=JCD129=11=ID21=338=10040=154=155=INTC60=<TIME>
# Expect to see reverse route OnBehalfOfCompID (115) and OnBehalfOfSubID (116) not present
E8=FIX.4.49=11535=334=549=ISLD52=00000000-00:00:00.00056=TW115=JCD45=558=Tag specified without a value371=129372=D373=410=0
# Send an order with OnBehalfOfCompID (115) and OnBehalfOfSubID (116) set and OnBehalfOfLocationID (144) empty
I8=FIX.4.435=D34=649=TW52=<TIME>56=ISLD115=JCD116=CS144=11=ID21=338=10040=154=155=INTC60=<TIME>
# Expect to see reverse route DeliverToCompID (128) and DeliverToSubID (129) set and DeliverToLocationID (145) not present
E8=FIX.4.49=12235=334=649=ISLD52=00000000-00:00:00.00056=TW128=JCD129=CS45=658=Tag specified without a value371=144372=D373=410=0
# Send an order with DeliverToCompID (128) and DeliverToSubID (129) set and DeliverToLocationID (145) empty
I8=FIX.4.435=D34=749=TW52=<TIME>56=ISLD128=JCD129=CS145=11=ID21=338=10040=w54=155=INTC60=<TIME>
# Expect to see reverse route OnBehalfOfCompID (115) and OnBeHalfOfSubID (116) set and OnBehalfOfLocationID (144) not present
E8=FIX.4.49=12235=334=749=ISLD52=00000000-00:00:00.00056=TW115=JCD116=CS45=758=Tag specified without a value371=145372=D373=410=0
# logout message and response
I8=FIX.4.435=534=849=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=849=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT

View File

@ -0,0 +1,34 @@
# If message sequence number is too high, send a resend request for
# missing messages
iCONNECT
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30
E8=FIX.4.49=6135=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
I8=FIX.4.435=034=249=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=349=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=449=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=549=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=649=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=749=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=849=TW52=<TIME>56=ISLD
I8=FIX.4.435=034=949=TW52=<TIME>56=ISLD
#Send TestRequest expect to receive HeartBeat
I8=FIX.4.435=134=1049=TW52=<TIME>56=ISLD112=1
E8=FIX.4.49=5535=034=249=ISLD52=<TIME>56=TW112=1
#send a Logon with ResetSeqNumFlag set to Y and with MsgSeqNum of 1
I8=FIX.4.435=A34=149=TW52=<TIME>56=ISLD98=0108=30141=Y
#Expect a response with a Logon with ResetSeqNumFlag set to Y and with MsgSeqNum of 1.
E8=FIX.4.49=6735=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=30141=Y10=0
#Send TestRequest (MsgSeqNum = 2) expect to receive HeartBeat (MsgSeqNum = 2)
I8=FIX.4.435=134=249=TW52=<TIME>56=ISLD112=1
E8=FIX.4.49=5535=034=249=ISLD52=<TIME>56=TW112=1
# logout message and response
I8=FIX.4.435=534=349=TW52=<TIME>56=ISLD
E8=FIX.4.49=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
eDISCONNECT