adding quickfix
This commit is contained in:
@ -0,0 +1,15 @@
|
||||
# GapFill where MsgSeqNum is equal to the expected inbound MsgSeqNum
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# sequence reset with gap fill flag set to Y
|
||||
I8=FIX.4.135=434=249=TW52=<TIME>56=ISLD36=20123=Y
|
||||
I8=FIX.4.135=134=2049=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=249=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,16 @@
|
||||
# GapFill where MsgSeqNum is greater than the expected inbound MsgSeqNum
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# sequence reset with gap fill flag set to Y
|
||||
I8=FIX.4.135=434=1049=TW52=<TIME>56=ISLD36=20123=Y
|
||||
I8=FIX.4.135=134=2049=TW52=<TIME>56=ISLD112=HELLO
|
||||
# Resend request for messages 2 to INFINITY
|
||||
E8=FIX.4.19=5935=234=249=ISLD52=00000000-00:00:0056=TW7=216=99999910=0
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=249=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
15
quickfix/_test/definitions/server/fix41/10_MsgSeqNumLess.def
Normal file
15
quickfix/_test/definitions/server/fix41/10_MsgSeqNumLess.def
Normal file
@ -0,0 +1,15 @@
|
||||
# GapFill where MsgSeqNum is less than the expected inbound MsgSeqNum
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# sequence reset with gap fill flag set to Y, PosDupFlag set to Y
|
||||
I8=FIX.4.135=434=149=TW52=<TIME>56=ISLD43=Y122=<TIME-1>36=20123=Y
|
||||
I8=FIX.4.135=134=249=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=249=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# sequence reset with gap fill flag set to Y, PosDupFlag set to N
|
||||
I8=FIX.4.135=434=149=TW52=<TIME>56=ISLD36=20123=Y
|
||||
E8=FIX.4.19=9435=534=349=ISLD52=00000000-00:00:0056=TW58=MsgSeqNum too low, expecting 3 but received 110=0
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,20 @@
|
||||
# SequenceReset where NewSeqNo is greater than the expected inbound MsgSeqNum
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# sequence reset without gap fill flag (default to N)
|
||||
I8=FIX.4.135=434=049=TW52=<TIME>56=ISLD36=25
|
||||
I8=FIX.4.135=134=2549=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=249=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# sequence reset with gap fill flag set to N
|
||||
I8=FIX.4.135=434=049=TW52=<TIME>56=ISLD36=50123=N
|
||||
I8=FIX.4.135=134=5049=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=349=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=5149=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=449=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,20 @@
|
||||
# SequenceReset where NewSeqNo is equal to the expected inbound MsgSeqNum
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# sequence reset without gap fill flag (default to N)
|
||||
I8=FIX.4.135=434=049=TW52=<TIME>56=ISLD36=2
|
||||
I8=FIX.4.135=134=249=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=249=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# sequence reset with gap fill flag set to N
|
||||
I8=FIX.4.135=434=049=TW52=<TIME>56=ISLD36=4123=N
|
||||
I8=FIX.4.135=134=449=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=349=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=549=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=449=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
24
quickfix/_test/definitions/server/fix41/11c_NewSeqNoLess.def
Normal file
24
quickfix/_test/definitions/server/fix41/11c_NewSeqNoLess.def
Normal file
@ -0,0 +1,24 @@
|
||||
# SequenceReset where NewSeqNo is less than the expected inbound MsgSeqNum
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# sequence reset without gap fill flag (default to N)
|
||||
I8=FIX.4.135=434=049=TW52=<TIME>56=ISLD36=1
|
||||
E8=FIX.4.19=10035=334=249=ISLD52=00000000-00:00:0056=TW45=058=Value is incorrect (out of range) for this tag10=0
|
||||
|
||||
I8=FIX.4.135=134=249=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=349=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# sequence reset without gap fill flag (default to N)
|
||||
I8=FIX.4.135=434=049=TW52=<TIME>56=ISLD36=1123=N
|
||||
E8=FIX.4.19=10035=334=449=ISLD52=00000000-00:00:0056=TW45=058=Value is incorrect (out of range) for this tag10=0
|
||||
|
||||
I8=FIX.4.135=134=349=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=549=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=449=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=649=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,8 @@
|
||||
# If a logout is received, send a logout
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
I8=FIX.4.135=534=249=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=249=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
42
quickfix/_test/definitions/server/fix41/14a_BadField.def
Normal file
42
quickfix/_test/definitions/server/fix41/14a_BadField.def
Normal 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.135=A34=149=TW52=<TIME>56=ISLD98=0108=2
|
||||
E8=FIX.4.19=5635=A34=149=ISLD52=00000000-00:00:0056=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.135=034=249=TW52=<TIME>56=ISLD999=HI
|
||||
# expect a reject
|
||||
E8=FIX.4.19=7835=334=249=ISLD52=00000000-00:00:0056=TW45=258=Invalid tag number (999)10=0
|
||||
|
||||
# heartbeat message with a field that is below the valid range for fields
|
||||
I8=FIX.4.135=034=349=TW52=<TIME>56=ISLD0=HI
|
||||
# expect a reject
|
||||
E8=FIX.4.19=7635=334=349=ISLD52=00000000-00:00:0056=TW45=358=Invalid tag number (0)10=0
|
||||
|
||||
# heartbeat message with a field that is negative
|
||||
I8=FIX.4.135=034=449=TW52=<TIME>56=ISLD-1=HI
|
||||
# expect a reject
|
||||
E8=FIX.4.19=7735=334=449=ISLD52=00000000-00:00:0056=TW45=458=Invalid tag number (-1)10=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.135=034=549=TW52=<TIME>56=ISLD5000=HI
|
||||
# expect a reject
|
||||
E8=FIX.4.19=7935=334=549=ISLD52=00000000-00:00:0056=TW45=558=Invalid tag number (5000)10=0
|
||||
|
||||
#------------------------
|
||||
# end message exchange
|
||||
#------------------------
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=649=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=649=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -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.135=A34=149=TW52=<TIME>56=ISLD98=0108=2
|
||||
E8=FIX.4.19=5635=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=210=0
|
||||
|
||||
#------------------------
|
||||
# begin message exchange
|
||||
#------------------------
|
||||
|
||||
# heartbeat message with a required field missing (TargetCompID) in the message header
|
||||
I8=FIX.4.135=034=249=TW52=<TIME>
|
||||
# expect a reject
|
||||
E8=FIX.4.19=7935=334=249=ISLD52=00000000-00:00:0056=TW45=258=Required tag missing (56)10=0
|
||||
|
||||
# quote message with a required field missing (Symbol)
|
||||
I8=FIX.4.135=D49=TW34=356=ISLD52=<TIME>38=10040=160=<TIME>54=121=311=id
|
||||
# expect a reject
|
||||
E8=FIX.4.19=7935=334=349=ISLD52=00000000-00:00:0056=TW45=358=Required tag missing (55)10=0
|
||||
|
||||
#------------------------
|
||||
# end message exchange
|
||||
#------------------------
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=449=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=449=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -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.135=A34=149=TW52=<TIME>56=ISLD98=0108=2
|
||||
E8=FIX.4.19=5635=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=210=0
|
||||
|
||||
#------------------------
|
||||
# begin message exchange
|
||||
#------------------------
|
||||
|
||||
# heartbeat message with a field identified that isn't for this message type
|
||||
I8=FIX.4.135=034=249=TW52=<TIME>56=ISLD55=MSFT
|
||||
# expect a reject
|
||||
E8=FIX.4.19=9635=334=249=ISLD52=00000000-00:00:0056=TW45=258=Tag not defined for this message type (55)10=0
|
||||
|
||||
#------------------------
|
||||
# end message exchange
|
||||
#------------------------
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -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.135=A34=149=TW52=<TIME>56=ISLD98=0108=2
|
||||
E8=FIX.4.19=5635=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=210=0
|
||||
|
||||
#------------------------
|
||||
# begin message exchange
|
||||
#------------------------
|
||||
|
||||
# heartbeat message with a field identified that doesn't have a value
|
||||
I8=FIX.4.135=034=249=TW52=<TIME>56=
|
||||
# expect a reject
|
||||
E8=FIX.4.19=8835=334=249=ISLD52=00000000-00:00:0056=TW45=258=Tag specified without a value (56)10=0
|
||||
|
||||
#------------------------
|
||||
# end message exchange
|
||||
#------------------------
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,26 @@
|
||||
# @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.135=A34=149=TW52=<TIME>56=ISLD98=0108=2
|
||||
E8=FIX.4.19=5635=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=210=0
|
||||
|
||||
#------------------------
|
||||
# begin message exchange
|
||||
#------------------------
|
||||
|
||||
#New order message with incorrect enum value. Handling instructions (21) = 4
|
||||
I8=FIX.4.135=D34=249=TW52=<TIME>56=ISLD11=ID21=440=154=138=002000.0055=INTC60=<TIME>
|
||||
# expect a reject
|
||||
E8=FIX.4.19=10535=334=249=ISLD52=00000000-00:00:0056=TW45=258=Value is incorrect (out of range) for this tag (21)10=0
|
||||
|
||||
#------------------------
|
||||
# end message exchange
|
||||
#------------------------
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -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.135=A34=149=TW52=<TIME>56=ISLD98=0108=2
|
||||
E8=FIX.4.19=5635=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=210=0
|
||||
|
||||
#------------------------
|
||||
# begin message exchange
|
||||
#------------------------
|
||||
#New order message with incorrect value. Qty (38) has a leading + sign
|
||||
I8=FIX.4.135=D34=249=TW52=<TIME>56=ISLD11=ID21=140=154=138=+200.0055=INTC60=<TIME>
|
||||
# expect a reject
|
||||
E8=FIX.4.19=9035=334=249=ISLD52=00000000-00:00:0056=TW45=258=Incorrect data format for value (38)10=0
|
||||
|
||||
#------------------------
|
||||
# end message exchange
|
||||
#------------------------
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -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.135=A34=149=TW52=<TIME>56=ISLD98=0108=2
|
||||
E8=FIX.4.19=5635=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=210=0
|
||||
|
||||
#------------------------
|
||||
# begin message exchange
|
||||
#------------------------
|
||||
|
||||
# new order message with all body tags first
|
||||
I8=FIX.4.135=D11=id21=340=154=155=MSFT60=<TIME>34=249=TW52=<TIME>56=ISLD
|
||||
# expect a reject
|
||||
E8=FIX.4.19=9435=334=249=ISLD52=00000000-00:00:0056=TW45=258=Tag specified out of required order (34)10=0
|
||||
|
||||
# new order message with one body tag first
|
||||
I8=FIX.4.135=D55=MSFT34=349=TW52=<TIME>56=ISLD11=id21=340=154=160=<TIME>
|
||||
# expect a reject
|
||||
E8=FIX.4.19=9435=334=349=ISLD52=00000000-00:00:0056=TW45=358=Tag specified out of required order (34)10=0
|
||||
|
||||
#------------------------
|
||||
# end message exchange
|
||||
#------------------------
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=449=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=449=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
26
quickfix/_test/definitions/server/fix41/14h_RepeatedTag.def
Normal file
26
quickfix/_test/definitions/server/fix41/14h_RepeatedTag.def
Normal 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.135=A34=149=TW52=<TIME>56=ISLD98=0108=2
|
||||
E8=FIX.4.19=5635=A34=149=ISLD52=00000000-00:00:0056=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.135=D34=249=TW52=<TIME>56=ISLD11=ID21=140=140=254=138=20055=INTC60=<TIME>
|
||||
# expect a reject
|
||||
E8=FIX.4.19=8535=334=249=ISLD52=00000000-00:00:0056=TW45=258=Tag appears more than once (40)10=0
|
||||
|
||||
#------------------------
|
||||
# end message exchange
|
||||
#------------------------
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -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.135=A34=149=TW52=<TIME>56=ISLD98=0108=2
|
||||
E8=FIX.4.19=5635=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=210=0
|
||||
|
||||
#------------------------
|
||||
# begin message exchange
|
||||
#------------------------
|
||||
|
||||
# new order message
|
||||
I8=FIX.4.135=D34=249=TW52=<TIME>56=ISLD11=id21=338=10040=154=155=MSFT
|
||||
# expect
|
||||
E8=FIX.4.19=8135=D34=249=ISLD52=00000000-00:00:0056=TW11=id21=338=10040=154=155=MSFT10=0
|
||||
|
||||
# new order message with header and body fields in different order
|
||||
I8=FIX.4.135=D49=TW34=356=ISLD52=<TIME>38=10040=155=MSFT54=121=311=id
|
||||
# expect
|
||||
E8=FIX.4.19=8135=D34=349=ISLD52=00000000-00:00:0056=TW11=id21=338=10040=154=155=MSFT10=0
|
||||
|
||||
#------------------------
|
||||
# end message exchange
|
||||
#------------------------
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=449=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=449=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -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.135=A34=149=TW52=<TIME>56=ISLD98=0108=2
|
||||
E8=FIX.4.19=5635=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=210=0
|
||||
|
||||
#------------------------
|
||||
# begin message exchange
|
||||
#------------------------
|
||||
|
||||
# new order message
|
||||
I8=FIX.4.135=D34=249=TW52=<TIME>56=ISLD11=id21=338=10040=154=155=MSFT
|
||||
# expect
|
||||
E8=FIX.4.19=8135=D34=249=ISLD52=00000000-00:00:0056=TW11=id21=338=10040=154=155=MSFT10=0
|
||||
|
||||
# sending the same message with PossResend flag set
|
||||
I8=FIX.4.135=D34=349=TW52=<TIME>56=ISLD97=Y11=id21=338=10040=154=155=MSFT
|
||||
|
||||
#------------------------
|
||||
# end message exchange
|
||||
#------------------------
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=449=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -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.135=A34=149=TW52=<TIME>56=ISLD98=0108=2
|
||||
E8=FIX.4.19=5635=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=210=0
|
||||
|
||||
#------------------------
|
||||
# begin message exchange
|
||||
#------------------------
|
||||
|
||||
# sending the same message with PossResend flag set
|
||||
I8=FIX.4.135=D34=249=TW52=<TIME>56=ISLD97=Y11=id21=338=10040=154=155=MSFT
|
||||
# expect
|
||||
E8=FIX.4.19=8635=D34=249=ISLD52=00000000-00:00:0056=TW97=Y11=id21=338=10040=154=155=MSFT10=0
|
||||
|
||||
#------------------------
|
||||
# end message exchange
|
||||
#------------------------
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,12 @@
|
||||
# if the message sequence number is too high, respond with long and send
|
||||
# resend request
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=549=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
|
||||
E8=FIX.4.19=5935=234=249=ISLD52=00000000-00:00:0056=TW7=116=99999910=0
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=649=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,10 @@
|
||||
# When we receive a valid logon, we must respond with one
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=3010=0
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=249=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=249=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
@ -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.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E1,8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# Second logon, unsuccesful
|
||||
i2,CONNECT
|
||||
I2,8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
|
||||
# wait for disconnect for second connection
|
||||
e2,DISCONNECT
|
||||
# force disconnect on first connection
|
||||
i1,DISCONNECT
|
||||
@ -0,0 +1,5 @@
|
||||
# If a bad SenderCompID is used, we must disconnect
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=WT52=<TIME>56=ISLD98=0108=30
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,5 @@
|
||||
# If a bad TargetCompID is used, we must disconnect
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=DLSI98=0108=30
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,5 @@
|
||||
# Disconnect if we receive a bad sending time
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=20010101-00:00:0056=ISLD98=0108=30
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,5 @@
|
||||
# If the length of a logon message is invalid, we must disconnect
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.19=4035=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
eDISCONNECT
|
||||
@ -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
|
||||
@ -0,0 +1,5 @@
|
||||
# If first message is not a Logon, we must disconnect
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=034=149=TW52=<TIME>56=DLSI
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,33 @@
|
||||
# If message sequence number is too high, send a resend request for
|
||||
# missing messages
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
I8=FIX.4.135=D34=249=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
E8=FIX.4.19=8135=D34=249=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=INTC10=0
|
||||
|
||||
I8=FIX.4.135=D34=349=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
E8=FIX.4.19=8135=D34=349=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=INTC10=0
|
||||
|
||||
# Sending message 7 when last message sent was 3
|
||||
I8=FIX.4.135=034=749=TW52=<TIME>56=ISLD
|
||||
|
||||
# Receive Resend request for messages 4 to 6
|
||||
E8=FIX.4.19=5935=234=449=ISLD52=00000000-00:00:0056=TW7=416=99999910=0
|
||||
# Send Resend request for messages 2 to 3
|
||||
I8=FIX.4.135=234=849=TW52=<TIME>56=ISLD7=216=3
|
||||
|
||||
E8=FIX.4.19=10835=D34=243=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=INTC10=0
|
||||
E8=FIX.4.19=10835=D34=343=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=INTC10=0
|
||||
|
||||
I8=FIX.4.135=034=443=Y49=TW52=<TIME>122=<TIME>56=ISLD
|
||||
I8=FIX.4.135=034=543=Y49=TW52=<TIME>122=<TIME>56=ISLD
|
||||
I8=FIX.4.135=034=643=Y49=TW52=<TIME>122=<TIME>56=ISLD
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=749=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=549=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,15 @@
|
||||
# Send messages with incrementing sequence numbers
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
I8=FIX.4.135=034=249=TW52=<TIME>56=ISLD
|
||||
I8=FIX.4.135=034=349=TW52=<TIME>56=ISLD
|
||||
I8=FIX.4.135=034=449=TW52=<TIME>56=ISLD
|
||||
I8=FIX.4.135=034=549=TW52=<TIME>56=ISLD
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=649=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=249=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,28 @@
|
||||
# If message sequence number is too high, send a resend request for
|
||||
# missing messages
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
I8=FIX.4.135=034=249=TW52=<TIME>56=ISLD
|
||||
I8=FIX.4.135=034=349=TW52=<TIME>56=ISLD
|
||||
I8=FIX.4.135=034=449=TW52=<TIME>56=ISLD
|
||||
|
||||
# Sending message 10 when last message send was 4
|
||||
I8=FIX.4.135=034=1049=TW52=<TIME>56=ISLD
|
||||
|
||||
# Resend request for messages 5 to 9
|
||||
E8=FIX.4.19=5935=234=249=ISLD52=00000000-00:00:0056=TW7=516=99999910=0
|
||||
|
||||
# Send the messages
|
||||
I8=FIX.4.135=034=549=TW52=<TIME>56=ISLD
|
||||
I8=FIX.4.135=034=649=TW52=<TIME>56=ISLD
|
||||
I8=FIX.4.135=034=749=TW52=<TIME>56=ISLD
|
||||
I8=FIX.4.135=034=849=TW52=<TIME>56=ISLD
|
||||
I8=FIX.4.135=034=949=TW52=<TIME>56=ISLD
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=1149=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,12 @@
|
||||
# If message sequence number is too low, we must disconnect
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
I8=FIX.4.135=034=249=TW52=<TIME>56=ISLD
|
||||
I8=FIX.4.135=034=349=TW52=<TIME>56=ISLD
|
||||
I8=FIX.4.135=034=449=TW52=<TIME>56=ISLD
|
||||
# Message 2 was already sent
|
||||
I8=FIX.4.135=034=249=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=9435=534=249=ISLD52=00000000-00:00:0056=TW58=MsgSeqNum too low, expecting 5 but received 210=0
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,27 @@
|
||||
# If message is garbled, it should be ignored
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.135=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=30
|
||||
|
||||
# Garbled message
|
||||
I8=FIX.4.19=5235=034=24garbled9=TW52=<TIME>56=ISLD10=0
|
||||
# Corrected message
|
||||
I8=FIX.4.135=034=249=TW52=<TIME>56=ISLD
|
||||
|
||||
# Garbled message
|
||||
I8=FIX.4.19=8135=D34=349garbled=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC10=0
|
||||
# Correct message with new sequence number
|
||||
I8=FIX.4.135=034=449=TW52=<TIME>56=ISLD
|
||||
|
||||
# Resend request for missed message
|
||||
E8=FIX.4.19=5935=234=249=ISLD52=00000000-00:00:0056=TW7=316=99999910=0
|
||||
# Send requested message
|
||||
I8=FIX.4.135=D34=349=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
E8=FIX.4.19=8135=D34=349=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=INTC
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=549=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=449=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,14 @@
|
||||
# Duplicate sequence number was received, and PossDup is set to 'Y'
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=7
|
||||
I8=FIX.4.135=034=249=TW52=<TIME>56=ISLD
|
||||
I8=FIX.4.135=034=249=TW52=<TIME>122=<TIME>56=ISLD43=Y112=<TIME>
|
||||
I8=FIX.4.135=034=349=TW52=<TIME>56=ISLD
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=449=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=249=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,17 @@
|
||||
# Duplicate sequence number was not received, and PossDup is set to 'Y'
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
I8=FIX.4.135=034=249=TW52=<TIME>56=ISLD
|
||||
|
||||
# Already received, this should be ignored
|
||||
I8=FIX.4.135=034=249=TW52=<TIME>122=<TIME>56=ISLD43=Y
|
||||
# Not yet received, this should be processed
|
||||
I8=FIX.4.135=034=349=TW52=<TIME>122=<TIME>56=ISLD43=Y
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=449=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=249=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -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.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# send two orders in sequence
|
||||
I8=FIX.4.135=D34=249=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
E8=FIX.4.19=8135=D34=249=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=INTC10=0
|
||||
I8=FIX.4.135=D34=349=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
E8=FIX.4.19=8135=D34=349=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=INTC10=0
|
||||
|
||||
# resend message 2 with larger OrigSendingTime
|
||||
I8=FIX.4.135=D34=249=TW52=<TIME>56=ISLD43=Y122=<TIME+10>11=ID21=338=10040=154=155=INTC
|
||||
|
||||
# reject message
|
||||
E8=FIX.4.19=8235=334=449=ISLD52=00000000-00:00:0056=TW45=258=SendingTime accuracy problem10=0
|
||||
# logout message
|
||||
E8=FIX.4.19=4535=534=549=ISLD52=00000000-00:00:0056=TW10=0
|
||||
I8=FIX.4.135=534=449=TW52=<TIME>56=ISLD
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,27 @@
|
||||
# PossDupFlag is set to 'Y', OrigSendingTime is does not exist
|
||||
# A Reject message must be sent.
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# send two orders in sequence
|
||||
I8=FIX.4.135=D34=249=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
E8=FIX.4.19=8135=D34=249=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=INTC10=0
|
||||
I8=FIX.4.135=D34=349=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
E8=FIX.4.19=8135=D34=349=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=INTC10=0
|
||||
|
||||
# resend message 2 with no OrigSendingTime
|
||||
I8=FIX.4.135=D34=249=TW52=<TIME>56=ISLD43=Y11=ID21=338=10040=154=155=INTC
|
||||
|
||||
# reject message
|
||||
E8=FIX.4.19=8035=334=449=ISLD52=00000000-00:00:0056=TW45=258=Required tag missing (122)10=0
|
||||
|
||||
# make sure sequence number no incremented
|
||||
I8=FIX.4.135=134=449=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=549=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# logout message
|
||||
I8=FIX.4.135=534=549=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=649=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,20 @@
|
||||
# Send message with invalid BeginString
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# Send with incorrect begin string and respond to logout
|
||||
I8=FIX.4.035=134=249=TW52=<TIME>56=ISLD112=id
|
||||
E8=FIX.4.19=7035=534=249=ISLD52=00000000-00:00:0056=TW58=Incorrect BeginString10=0
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
eDISCONNECT
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# Send with incorrect begin string and don't respond to logout
|
||||
I8=FIX.4.035=134=249=TW52=<TIME>56=ISLD112=id
|
||||
E8=FIX.4.19=7035=534=249=ISLD52=00000000-00:00:0056=TW58=Incorrect BeginString10=0
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,47 @@
|
||||
# SenderCompID is invalid. We must reject message and send a logout
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# send order with bad SenderCompID
|
||||
I8=FIX.4.135=D34=249=WT52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
|
||||
# reject message
|
||||
E8=FIX.4.19=6835=334=249=ISLD52=00000000-00:00:0056=TW45=258=CompID problem10=0
|
||||
# logout message
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
eDISCONNECT
|
||||
|
||||
# TargetCompID is invalid
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# send order with bad TargetCompID
|
||||
I8=FIX.4.135=D34=249=TW52=<TIME>56=DLSI11=ID21=338=10040=154=155=INTC
|
||||
|
||||
# reject message
|
||||
E8=FIX.4.19=6835=334=249=ISLD52=00000000-00:00:0056=TW45=258=CompID problem10=0
|
||||
# logout message
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
eDISCONNECT
|
||||
|
||||
# SenderCompID and TargetCompID is invalid
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# send order with bad SenderCompID and TargetCompID
|
||||
I8=FIX.4.135=D34=249=WT52=<TIME>56=DLSI11=ID21=338=10040=154=155=INTC
|
||||
|
||||
# reject message
|
||||
E8=FIX.4.19=6835=334=249=ISLD52=00000000-00:00:0056=TW45=258=CompID problem10=0
|
||||
# logout message
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,34 @@
|
||||
# If message with an invalid length is sent, we must ignore it
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# Send a message with a length that is too short
|
||||
I8=FIX.4.19=3035=D34=249=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
# Follow with a valid FIX message
|
||||
I8=FIX.4.135=D34=349=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
# Invalid message was ignored, and valid one was processed. Therefore
|
||||
# we should expect a resend request
|
||||
E8=FIX.4.19=5935=234=249=ISLD52=00000000-00:00:0056=TW7=216=99999910=0
|
||||
|
||||
# Correctly resend the bad message we sent before
|
||||
I8=FIX.4.135=D34=249=TW52=<TIME>56=ISLD122=<TIME>11=ID21=338=10040=154=155=INTC
|
||||
E8=FIX.4.19=8135=D34=349=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=INTC10=0
|
||||
E8=FIX.4.19=8135=D34=449=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=INTC10=0
|
||||
|
||||
# Send a message with a length that is too long, it will combine with the next message
|
||||
# and be ignored
|
||||
I8=FIX.4.19=11135=D34=449=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
I8=FIX.4.135=D34=549=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
|
||||
# sending the last bad message correctly
|
||||
I8=FIX.4.135=D34=449=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
I8=FIX.4.135=D34=549=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
E8=FIX.4.19=8135=D34=549=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=INTC10=0
|
||||
E8=FIX.4.19=8135=D34=649=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=INTC10=0
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=749=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=749=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,25 @@
|
||||
# SendingTime is too small, reject
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
# send heartbeat more than 2 minutes early
|
||||
I8=FIX.4.135=034=249=TW52=<TIME-121>56=ISLD
|
||||
# reject and logoff
|
||||
E8=FIX.4.19=8235=334=249=ISLD52=00000000-00:00:0056=TW45=258=SendingTime accuracy problem10=0
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
eDISCONNECT
|
||||
|
||||
# SendingTime is too large, reject
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
# send heartbeat more than 2 minutes late
|
||||
I8=FIX.4.135=034=249=TW52=<TIME+121>56=ISLD
|
||||
# reject and logoff
|
||||
E8=FIX.4.19=8235=334=249=ISLD52=00000000-00:00:0056=TW45=258=SendingTime accuracy problem10=0
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,13 @@
|
||||
# Send message with invalid MsgType
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
I8=FIX.4.135=*34=249=TW52=<TIME>56=ISLD
|
||||
# reject
|
||||
E8=FIX.4.19=6935=334=249=ISLD52=00000000-00:00:0056=TW45=258=Invalid MsgType10=0
|
||||
|
||||
# logoff
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,13 @@
|
||||
# Message type is not supported by the application
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
I8=FIX.4.135=834=249=TW52=<TIME>56=ISLD11=id31=10.532=10037=id38=10017=120=039=055=WLRI54=114=06=0.0150=1151=0
|
||||
E8=FIX.4.19=7835=334=249=ISLD52=00000000-00:00:0056=TW45=258=Unsupported Message Type10=0
|
||||
|
||||
# logout
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,20 @@
|
||||
# Send messages BeginString, BodyLength and MsgType in wrong order
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# 35 is first, should be second
|
||||
I35=08=FIX.4.19=2934=249=TW52=<TIME>56=ISLD10=121
|
||||
I8=FIX.4.135=134=249=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=249=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# 34 is second, should be third
|
||||
I8=FIX.4.134=335=049=TW52=<TIME>56=ISLD
|
||||
I8=FIX.4.135=134=349=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=349=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=449=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=449=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,24 @@
|
||||
# If message has incorrect checksum, it should be ignored
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=7
|
||||
|
||||
# Incorrect checksum
|
||||
I8=FIX.4.135=034=249=TW52=<TIME>56=ISLD10=256
|
||||
# Correct checksum
|
||||
I8=FIX.4.135=034=249=TW52=<TIME>56=ISLD
|
||||
# Incorrect checksum
|
||||
I8=FIX.4.135=D34=349=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC10=256
|
||||
I8=FIX.4.135=034=449=TW52=<TIME>56=ISLD
|
||||
|
||||
# Resend request for missed message
|
||||
E8=FIX.4.19=5935=234=249=ISLD52=00000000-00:00:0056=TW7=316=99999910=0
|
||||
I8=FIX.4.135=D34=349=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
E8=FIX.4.19=8135=D34=349=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=INTC
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=449=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=449=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,26 @@
|
||||
# If message is garbled, it should be ignored
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.135=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=30
|
||||
|
||||
# Garbled message
|
||||
I8=FIX.4.19=5235=034=24garbled9=TW52=<TIME>56=ISLD10=0
|
||||
# Corrected message
|
||||
I8=FIX.4.135=034=249=TW52=<TIME>56=ISLD
|
||||
|
||||
# Garbled message
|
||||
I8=FIX.4.19=8135=D34=349garbled=TW52=<TIME>56=ISLD11=ID21=340=154=155=INTC10=0
|
||||
# Correct message with new sequence number
|
||||
I8=FIX.4.135=034=449=TW52=<TIME>56=ISLD
|
||||
|
||||
# Resend request for missed message
|
||||
E8=FIX.4.19=5935=234=249=ISLD52=00000000-00:00:0056=TW7=316=99999910=0
|
||||
# Send requested message
|
||||
I8=FIX.4.135=D34=349=TW52=<TIME>56=ISLD122=<TIME>11=ID21=338=10040=154=155=INTC
|
||||
E8=FIX.4.135=D34=349=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=INTC
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=449=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=449=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,23 @@
|
||||
# We should expect heartbeats if we wait around
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=6
|
||||
E8=FIX.4.19=5635=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=610=0
|
||||
|
||||
# Wait for quickfix to send a heartbeat to us
|
||||
E8=FIX.4.19=4535=034=249=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
# we respond with a heartbeat
|
||||
I8=FIX.4.19=4535=034=249=TW52=<TIME>56=ISLD
|
||||
|
||||
# we should get a heartbeat back
|
||||
E8=FIX.4.19=4535=034=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
# we will send one more for good measure
|
||||
I8=FIX.4.19=4535=034=349=TW52=<TIME>56=ISLD
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=449=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=449=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
|
||||
@ -0,0 +1,12 @@
|
||||
# If a test request is received, a matching heartbeat should be sent
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
I8=FIX.4.135=134=249=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=249=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
@ -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.135=A34=149=TW52=<TIME>56=ISLD98=0108=6
|
||||
E8=FIX.4.19=5635=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=610=0
|
||||
|
||||
# wait for two heartbeats
|
||||
E8=FIX.4.19=4535=034=249=ISLD52=00000000-00:00:0056=TW10=0
|
||||
I8=FIX.4.135=034=249=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=034=349=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
# wait for test request
|
||||
E8=FIX.4.19=5435=134=449=ISLD52=00000000-00:00:0056=TW112=TEST10=210
|
||||
I8=FIX.4.135=034=349=TW52=<TIME>56=ISLD112=TEST
|
||||
|
||||
# wait for two heartbeats
|
||||
E8=FIX.4.19=4535=034=549=ISLD52=00000000-00:00:0056=TW10=0
|
||||
I8=FIX.4.135=034=449=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=034=649=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
# wait for three test requests and disconnect
|
||||
E8=FIX.4.19=5435=134=749=ISLD52=00000000-00:00:0056=TW112=TEST10=213
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,12 @@
|
||||
# Increment MsgSeqNum if a reject is sent
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# reject
|
||||
I8=FIX.4.135=334=249=TW52=<TIME>56=ISLD45=1
|
||||
|
||||
I8=FIX.4.135=534=349=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=249=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,71 @@
|
||||
# ResendRequest message requesting Admin messages
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# Admin messages 2-4
|
||||
I8=FIX.4.135=134=249=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=249=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
I8=FIX.4.135=134=349=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=349=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
I8=FIX.4.135=134=449=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=449=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# Application Messages 5-6
|
||||
I8=FIX.4.135=D34=549=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
E8=FIX.4.19=8135=D34=549=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=INTC10=0
|
||||
I8=FIX.4.135=D34=649=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=CDG
|
||||
E8=FIX.4.19=8035=D34=649=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=CDG10=0
|
||||
|
||||
# Admin Messages 7-8
|
||||
I8=FIX.4.135=134=749=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=749=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
I8=FIX.4.135=134=849=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=849=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# Application Messages 9
|
||||
I8=FIX.4.135=D34=949=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=IVP
|
||||
E8=FIX.4.19=8035=D34=949=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=IVP10=0
|
||||
|
||||
# Admin messages 2-4
|
||||
I8=FIX.4.135=234=1049=TW52=<TIME>56=ISLD7=216=4
|
||||
E8=FIX.4.19=8335=434=243=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0036=5123=Y10=0
|
||||
|
||||
# Admin messages 2-4, App messages 5-6
|
||||
I8=FIX.4.135=234=1149=TW52=<TIME>56=ISLD7=216=6
|
||||
E8=FIX.4.19=8335=434=243=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0036=5123=Y10=0
|
||||
E8=FIX.4.19=10835=D34=543=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=INTC10=0
|
||||
E8=FIX.4.19=10735=D34=643=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=CDG10=0
|
||||
|
||||
# Admin messages 2-4, App messages 5-6, Admin messages 7-8
|
||||
I8=FIX.4.135=234=1249=TW52=<TIME>56=ISLD7=216=8
|
||||
E8=FIX.4.19=8335=434=243=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0036=5123=Y10=0
|
||||
E8=FIX.4.19=10835=D34=543=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=INTC10=0
|
||||
E8=FIX.4.19=10735=D34=643=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=CDG10=0
|
||||
E8=FIX.4.19=8335=434=743=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0036=9123=Y10=0
|
||||
|
||||
# Admin messages 2-4, App messages 5-6, Admin messages 7-8, App message 9
|
||||
I8=FIX.4.135=234=1349=TW52=<TIME>56=ISLD7=216=9
|
||||
E8=FIX.4.19=8335=434=243=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0036=5123=Y10=0
|
||||
E8=FIX.4.19=10835=D34=543=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=INTC10=0
|
||||
E8=FIX.4.19=10735=D34=643=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=CDG10=0
|
||||
E8=FIX.4.19=8335=434=743=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0036=9123=Y10=0
|
||||
E8=FIX.4.19=10735=D34=943=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=IVP10=0
|
||||
|
||||
# Request message to 999999 (infinity)
|
||||
I8=FIX.4.135=234=1449=TW52=<TIME>56=ISLD7=216=999999
|
||||
E8=FIX.4.19=8335=434=243=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0036=5123=Y10=0
|
||||
E8=FIX.4.19=10835=D34=543=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=INTC10=0
|
||||
E8=FIX.4.19=10735=D34=643=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=CDG10=0
|
||||
E8=FIX.4.19=8335=434=743=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0036=9123=Y10=0
|
||||
E8=FIX.4.19=10735=D34=943=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=IVP10=0
|
||||
|
||||
# make sure our seq numbers are still correct
|
||||
I8=FIX.4.135=134=1549=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5635=034=1049=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=1649=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4635=534=1149=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,28 @@
|
||||
# ResendRequest message requesting Admin messages
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
I8=FIX.4.135=134=249=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=249=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
I8=FIX.4.135=134=349=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=349=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
I8=FIX.4.135=134=449=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=449=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# Only admin messages requested, expect one gap fill
|
||||
I8=FIX.4.135=234=549=TW52=<TIME>56=ISLD7=116=4
|
||||
E8=FIX.4.19=8335=434=143=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0036=5123=Y10=0
|
||||
|
||||
# make sure our seq numbers are still correct
|
||||
I8=FIX.4.135=134=649=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=549=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# Request message to 999999 (infinity)
|
||||
I8=FIX.4.135=234=549=TW52=<TIME>56=ISLD7=116=999999
|
||||
E8=FIX.4.19=8335=434=143=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0036=6123=Y10=0
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=649=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=649=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,34 @@
|
||||
# ResendRequest message requesting Application messages
|
||||
|
||||
iCONNECT
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
I8=FIX.4.135=D34=249=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=INTC
|
||||
E8=FIX.4.19=8135=D34=249=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=INTC10=0
|
||||
I8=FIX.4.135=D34=349=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=CDG
|
||||
E8=FIX.4.19=8035=D34=349=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=CDG10=0
|
||||
I8=FIX.4.135=D34=449=TW52=<TIME>56=ISLD11=ID21=338=10040=154=155=IVP
|
||||
E8=FIX.4.19=8035=D34=449=ISLD52=00000000-00:00:0056=TW11=ID21=338=10040=154=155=IVP10=0
|
||||
|
||||
# Only application messages requested, all should be resent
|
||||
I8=FIX.4.135=234=549=TW52=<TIME>56=ISLD7=216=4
|
||||
E8=FIX.4.19=10835=D34=243=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=INTC10=0
|
||||
E8=FIX.4.19=10735=D34=343=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=CDG10=0
|
||||
E8=FIX.4.19=10735=D34=443=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=IVP10=0
|
||||
|
||||
# make sure our seq numbers are still correct
|
||||
I8=FIX.4.135=134=649=TW52=<TIME>56=ISLD112=HELLO
|
||||
E8=FIX.4.19=5535=034=549=ISLD52=00000000-00:00:0056=TW112=HELLO10=0
|
||||
|
||||
# Request message to 999999 (infinity)
|
||||
I8=FIX.4.135=234=749=TW52=<TIME>56=ISLD7=216=999999
|
||||
E8=FIX.4.19=10835=D34=243=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=INTC10=0
|
||||
E8=FIX.4.19=10735=D34=343=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=CDG10=0
|
||||
E8=FIX.4.19=10735=D34=443=Y49=ISLD52=00000000-00:00:0056=TW122=00000000-00:00:0011=ID21=338=10040=154=155=IVP10=0
|
||||
E8=FIX.4.19=8335=434=543=Y49=ISLD52=20040227-19:56:4856=TW122=00000000-00:00:0036=6123=Y10=068
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=849=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=649=ISLD52=00000000-00:00:0056=TW10=0
|
||||
eDISCONNECT
|
||||
14
quickfix/_test/definitions/server/fix41/AlreadyLoggedOn.def
Normal file
14
quickfix/_test/definitions/server/fix41/AlreadyLoggedOn.def
Normal file
@ -0,0 +1,14 @@
|
||||
# When we receive a valid logon, we must respond with one
|
||||
|
||||
i1,CONNECT
|
||||
I1,8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E1,8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
i2,CONNECT
|
||||
I2,8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
e2,DISCONNECT
|
||||
|
||||
# logout message and response
|
||||
I1,8=FIX.4.135=534=249=TW52=<TIME>56=ISLD
|
||||
E1,8=FIX.4.19=4535=534=249=ISLD52=00000000-00:00:0056=TW10=0
|
||||
e1,DISCONNECT
|
||||
@ -0,0 +1,26 @@
|
||||
# Reject resent message
|
||||
|
||||
iCONNECT
|
||||
#Logon
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# send in a test request one number too high
|
||||
I8=FIX.4.135=134=349=TW52=<TIME>56=ISLD112=HELLO1
|
||||
# receive resend request for message 2
|
||||
E8=FIX.4.19=5935=234=249=ISLD52=00000000-00:00:0056=TW7=216=99999910=0
|
||||
# send order with badly formatted field 126
|
||||
I8=FIX.4.135=D34=243=Y49=TW52=<TIME>56=ISLD122=<TIME>11=ID21=338=10040=154=155=IVP126=20040415
|
||||
# receive session reject
|
||||
E8=FIX.4.19=9135=334=349=ISLD52=00000000-00:00:0056=TW45=258=Incorrect data format for value (126)10=245
|
||||
|
||||
# send in a second test request, tests requests should be processed in order
|
||||
I8=FIX.4.135=134=449=TW52=<TIME>56=ISLD112=HELLO2
|
||||
E8=FIX.4.19=5635=034=449=ISLD52=00000000-00:00:0056=TW112=HELLO110=0
|
||||
E8=FIX.4.19=5635=034=549=ISLD52=00000000-00:00:0056=TW112=HELLO210=0
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=1149=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=649=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
42
quickfix/_test/definitions/server/fix41/ReverseRoute.def
Normal file
42
quickfix/_test/definitions/server/fix41/ReverseRoute.def
Normal file
@ -0,0 +1,42 @@
|
||||
# Reverse routing fields on rejects
|
||||
|
||||
iCONNECT
|
||||
#Logon
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# Send an order with OnBehalfOfCompID (115) set with bad field value 40=w
|
||||
I8=FIX.4.135=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.19=11335=334=249=ISLD52=00000000-00:00:0056=TW128=JCD45=258=Value is incorrect (out of range) for this tag (40)10=0
|
||||
|
||||
# Send an order with DeliverToCompID (128) set with bad field value 40=w
|
||||
I8=FIX.4.135=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.19=11335=334=349=ISLD52=00000000-00:00:0056=TW115=JCD45=358=Value is incorrect (out of range) for this tag (40)10=0
|
||||
|
||||
# Send an order with OnBehalfOfCompID (115) and OnBehalfOfSubID (116) set with bad field value 40=w
|
||||
I8=FIX.4.135=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.19=12035=334=449=ISLD52=00000000-00:00:0056=TW128=JCD129=CS45=458=Value is incorrect (out of range) for this tag (40)10=0
|
||||
|
||||
# Send an order with DeliverToCompID (128) and DeliverToSubID (129) set with bad field value 40=w
|
||||
I8=FIX.4.135=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.19=12035=334=549=ISLD52=00000000-00:00:0056=TW115=JCD116=CS45=558=Value is incorrect (out of range) for this tag (40)10=0
|
||||
|
||||
# Send an order with OnBehalfOfCompID (115) and OnBehalfOfSubID (116) and OnBehalfOfLocationID (144) set with bad field value 40=w
|
||||
I8=FIX.4.135=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.19=12835=334=649=ISLD52=00000000-00:00:0056=TW128=JCD129=CS145=CHI45=658=Value is incorrect (out of range) for this tag (40)10=0
|
||||
|
||||
# Send an order with DeliverToCompID (128) and DeliverToSubID (129) and DeliverToLocationID (145) set with bad field value 40=w
|
||||
I8=FIX.4.135=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.19=12835=334=749=ISLD52=20040503-17:56:0156=TW115=JCD116=CS144=CHI45=758=Value is incorrect (out of range) for this tag (40)10=0
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=849=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=849=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
@ -0,0 +1,42 @@
|
||||
# Do not reverse routing field if it is empty
|
||||
|
||||
iCONNECT
|
||||
#Logon
|
||||
I8=FIX.4.135=A34=149=TW52=<TIME>56=ISLD98=0108=30
|
||||
E8=FIX.4.19=5735=A34=149=ISLD52=00000000-00:00:0056=TW98=0108=3010=0
|
||||
|
||||
# Send an order with OnBehalfOfCompID (115) empty
|
||||
I8=FIX.4.135=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.19=8935=334=249=ISLD52=00000000-00:00:0056=TW45=258=Tag specified without a value (115)10=0
|
||||
|
||||
# Send an order with DeliverToCompID (128) empty
|
||||
I8=FIX.4.135=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.19=8935=334=349=ISLD52=00000000-00:00:0056=TW45=358=Tag specified without a value (128)10=0
|
||||
|
||||
# Send an order with OnBehalfOfCompID (115) and OnBehalfOfSubID (116) empty
|
||||
I8=FIX.4.135=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.19=9735=334=449=ISLD52=00000000-00:00:0056=TW128=JCD45=458=Tag specified without a value (116)10=0
|
||||
|
||||
# Send an order with DeliverToCompID (128) and DeliverToSubID (129) empty
|
||||
I8=FIX.4.135=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.19=9735=334=549=ISLD52=00000000-00:00:00.00056=TW115=JCD45=558=Tag specified without a value (129)10=0
|
||||
|
||||
# Send an order with OnBehalfOfCompID (115) and OnBehalfOfSubID (116) set and OnBehalfOfLocationID (144) empty
|
||||
I8=FIX.4.135=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.19=10435=334=649=ISLD52=00000000-00:00:0056=TW128=JCD129=CS45=658=Tag specified without a value (144)10=0
|
||||
|
||||
# Send an order with DeliverToCompID (128) and DeliverToSubID (129) set and DeliverToLocationID (145) empty
|
||||
I8=FIX.4.135=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.19=10435=334=749=ISLD52=00000000-00:00:0056=TW115=JCD116=CS45=758=Tag specified without a value (145)10=0
|
||||
|
||||
# logout message and response
|
||||
I8=FIX.4.135=534=849=TW52=<TIME>56=ISLD
|
||||
E8=FIX.4.19=4535=534=849=ISLD52=00000000-00:00:0056=TW10=0
|
||||
|
||||
eDISCONNECT
|
||||
Reference in New Issue
Block a user