quickfixj
quickfixj copied to clipboard
A test is needed to defend QuickFIXJ compatibility with FIX Dictionary Files generated from FIX Orchestra
The FIX Orchestra project includes a utility to generate QFJ compatible dictionaries from an Orchestra Repo https://github.com/FIXTradingCommunity/fix-orchestra
The Orchestra model and the QuickFIX model are inconsistent in the way that they deal with Components and Groups.
QuickFIX does not normalise Groups, Groups are defined in situ within the containing component.
There are a small number of cases where Groups are required.
To represent this without requiring that the Component and Group be defined in situ in the message the Group must be defined as required within the Component. e.g. <group name="NoPartyIDs" required="Y">
There are cases such as Component "Parties" where the component is not always required.
QuickFIXJ validation does behave correctly in this case:
- given that the Component is not required when the contained Group is required and the Component is absent then validation succeeds
- given that the Component is required when the contained Group is required and the Component is absent then validation fails
- given that the Component is required when the contained Group is required and the Component is present then validation succeeds
Providing a test case will guard against possible regressions that would introduce incompatibility between FIX Orchestra tooling and QuickFIXJ.
Please see also 👍 https://github.com/FIXTradingCommunity/fix-orchestra/issues/104