Skip to content

Commit ab15e58

Browse files
authored
Merge pull request #572 from alexppxela/validation/fixt-reject-invalid-message
Check RejectInvalidMessage on FIXT validation
2 parents 3a023ca + 60dde05 commit ab15e58

File tree

4 files changed

+435
-9
lines changed

4 files changed

+435
-9
lines changed

_test/definitions/server/fix50sp1/14i_RepeatingGroupCountNotEqual.def

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ E8=FIXT.1.19=6735=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=2113
1111
#------------------------
1212

1313
#New order message with incorrect repeating group "count". NoTradingSessions (386)
14-
I8=FIXT.1.135=D34=249=TW52=<TIME>56=ISLD11=ID21=140=154=138=200.0055=INTC386=3336=PRE-OPEN336=AFTER-HOURS60=<TIME>
14+
I8=FIXT.1.135=D34=249=TW52=<TIME>56=ISLD11=ID21=140=154=138=200.0055=INTC386=3336=3336=660=<TIME>
1515
# expect a reject
1616
E8=FIXT.1.19=12535=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=Incorrect NumInGroup count for repeating group371=386372=D373=1610=0
1717

@@ -23,4 +23,4 @@ E8=FIXT.1.19=12535=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=Incor
2323
I8=FIXT.1.135=534=349=TW52=<TIME>56=ISLD
2424
E8=FIXT.1.19=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
2525

26-
eDISCONNECT
26+
eDISCONNECT

_test/definitions/server/fix50sp2/14i_RepeatingGroupCountNotEqual.def

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ E8=FIXT.1.19=6735=A34=149=ISLD52=00000000-00:00:00.00056=TW98=0108=2113
1111
#------------------------
1212

1313
#New order message with incorrect repeating group "count". NoTradingSessions (386)
14-
I8=FIXT.1.135=D34=249=TW52=<TIME>56=ISLD11=ID21=140=154=138=200.0055=INTC386=3336=PRE-OPEN336=AFTER-HOURS60=<TIME>
14+
I8=FIXT.1.135=D34=249=TW52=<TIME>56=ISLD11=ID21=140=154=138=200.0055=INTC386=3336=3336=660=<TIME>
1515
# expect a reject
1616
E8=FIXT.1.19=12535=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=Incorrect NumInGroup count for repeating group371=386372=D373=1610=0
1717

@@ -23,4 +23,4 @@ E8=FIXT.1.19=12535=334=249=ISLD52=00000000-00:00:00.00056=TW45=258=Incor
2323
I8=FIXT.1.135=534=349=TW52=<TIME>56=ISLD
2424
E8=FIXT.1.19=4935=534=349=ISLD52=00000000-00:00:00.00056=TW10=0
2525

26-
eDISCONNECT
26+
eDISCONNECT

validation.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -136,12 +136,14 @@ func validateFIXT(transportDD, appDD *datadictionary.DataDictionary, settings Va
136136
}
137137
}
138138

139-
if err := validateWalk(transportDD, appDD, msgType, msg); err != nil {
140-
return err
141-
}
139+
if settings.RejectInvalidMessage {
140+
if err := validateFields(transportDD, appDD, msgType, msg); err != nil {
141+
return err
142+
}
142143

143-
if err := validateFields(transportDD, appDD, msgType, msg); err != nil {
144-
return err
144+
if err := validateWalk(transportDD, appDD, msgType, msg); err != nil {
145+
return err
146+
}
145147
}
146148

147149
return nil

0 commit comments

Comments
 (0)