fix_spec 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.travis.yml +1 -1
- data/Gemfile +1 -1
- data/Gemfile.lock +2 -2
- data/README.md +28 -1
- data/VERSION +1 -1
- data/features/builder.feature +164 -5
- data/features/equivalence_data_dictionary.feature +49 -1
- data/features/message_type.feature +11 -0
- data/features/nested_builder.feature +229 -2
- data/features/support/FIX50SP1.xml +9419 -0
- data/features/support/FIXT11.xml +383 -0
- data/features/support/env.rb +8 -0
- data/fix_spec.gemspec +10 -7
- data/lib/fix_spec/builder.rb +89 -27
- data/lib/fix_spec/configuration.rb +19 -2
- data/lib/fix_spec/cucumber.rb +1 -2
- data/spec/fix_spec/data_dictionary_spec.rb +12 -6
- metadata +32 -49
@@ -0,0 +1,383 @@
|
|
1
|
+
<fix type="FIXT" major="1" minor="1">
|
2
|
+
<header>
|
3
|
+
<field name="BeginString" required="Y"/>
|
4
|
+
<field name="BodyLength" required="Y"/>
|
5
|
+
<field name="MsgType" required="Y"/>
|
6
|
+
<field name="ApplVerID" required="N"/>
|
7
|
+
<field name="ApplExtID" required="N"/>
|
8
|
+
<field name="CstmApplVerID" required="N"/>
|
9
|
+
<field name="SenderCompID" required="Y"/>
|
10
|
+
<field name="TargetCompID" required="Y"/>
|
11
|
+
<field name="OnBehalfOfCompID" required="N"/>
|
12
|
+
<field name="DeliverToCompID" required="N"/>
|
13
|
+
<field name="SecureDataLen" required="N"/>
|
14
|
+
<field name="SecureData" required="N"/>
|
15
|
+
<field name="MsgSeqNum" required="Y"/>
|
16
|
+
<field name="SenderSubID" required="N"/>
|
17
|
+
<field name="SenderLocationID" required="N"/>
|
18
|
+
<field name="TargetSubID" required="N"/>
|
19
|
+
<field name="TargetLocationID" required="N"/>
|
20
|
+
<field name="OnBehalfOfSubID" required="N"/>
|
21
|
+
<field name="OnBehalfOfLocationID" required="N"/>
|
22
|
+
<field name="DeliverToSubID" required="N"/>
|
23
|
+
<field name="DeliverToLocationID" required="N"/>
|
24
|
+
<field name="PossDupFlag" required="N"/>
|
25
|
+
<field name="PossResend" required="N"/>
|
26
|
+
<field name="SendingTime" required="Y"/>
|
27
|
+
<field name="OrigSendingTime" required="N"/>
|
28
|
+
<field name="XmlDataLen" required="N"/>
|
29
|
+
<field name="XmlData" required="N"/>
|
30
|
+
<field name="MessageEncoding" required="N"/>
|
31
|
+
<field name="LastMsgSeqNumProcessed" required="N"/>
|
32
|
+
<component name="HopGrp" required="N"/>
|
33
|
+
</header>
|
34
|
+
<trailer>
|
35
|
+
<field name="SignatureLength" required="N"/>
|
36
|
+
<field name="Signature" required="N"/>
|
37
|
+
<field name="CheckSum" required="Y"/>
|
38
|
+
</trailer>
|
39
|
+
<messages>
|
40
|
+
<message name="Heartbeat" msgtype="0" msgcat="admin">
|
41
|
+
<field name="TestReqID" required="N"/>
|
42
|
+
</message>
|
43
|
+
<message name="TestRequest" msgtype="1" msgcat="admin">
|
44
|
+
<field name="TestReqID" required="Y"/>
|
45
|
+
</message>
|
46
|
+
<message name="ResendRequest" msgtype="2" msgcat="admin">
|
47
|
+
<field name="BeginSeqNo" required="Y"/>
|
48
|
+
<field name="EndSeqNo" required="Y"/>
|
49
|
+
</message>
|
50
|
+
<message name="Reject" msgtype="3" msgcat="admin">
|
51
|
+
<field name="RefSeqNum" required="Y"/>
|
52
|
+
<field name="RefTagID" required="N"/>
|
53
|
+
<field name="RefMsgType" required="N"/>
|
54
|
+
<field name="RefApplVerID" required="N"/>
|
55
|
+
<field name="RefApplExtID" required="N"/>
|
56
|
+
<field name="RefCstmApplVerID" required="N"/>
|
57
|
+
<field name="SessionRejectReason" required="N"/>
|
58
|
+
<field name="Text" required="N"/>
|
59
|
+
<field name="EncodedTextLen" required="N"/>
|
60
|
+
<field name="EncodedText" required="N"/>
|
61
|
+
</message>
|
62
|
+
<message name="SequenceReset" msgtype="4" msgcat="admin">
|
63
|
+
<field name="GapFillFlag" required="N"/>
|
64
|
+
<field name="NewSeqNo" required="Y"/>
|
65
|
+
</message>
|
66
|
+
<message name="Logout" msgtype="5" msgcat="admin">
|
67
|
+
<field name="SessionStatus" required="N"/>
|
68
|
+
<field name="Text" required="N"/>
|
69
|
+
<field name="EncodedTextLen" required="N"/>
|
70
|
+
<field name="EncodedText" required="N"/>
|
71
|
+
</message>
|
72
|
+
<message name="Logon" msgtype="A" msgcat="admin">
|
73
|
+
<field name="EncryptMethod" required="Y"/>
|
74
|
+
<field name="HeartBtInt" required="Y"/>
|
75
|
+
<field name="RawDataLength" required="N"/>
|
76
|
+
<field name="RawData" required="N"/>
|
77
|
+
<field name="ResetSeqNumFlag" required="N"/>
|
78
|
+
<field name="NextExpectedMsgSeqNum" required="N"/>
|
79
|
+
<field name="MaxMessageSize" required="N"/>
|
80
|
+
<component name="MsgTypeGrp" required="N"/>
|
81
|
+
<field name="TestMessageIndicator" required="N"/>
|
82
|
+
<field name="Username" required="N"/>
|
83
|
+
<field name="Password" required="N"/>
|
84
|
+
<field name="NewPassword" required="N"/>
|
85
|
+
<field name="EncryptedPasswordMethod" required="N"/>
|
86
|
+
<field name="EncryptedPasswordLen" required="N"/>
|
87
|
+
<field name="EncryptedPassword" required="N"/>
|
88
|
+
<field name="EncryptedNewPasswordLen" required="N"/>
|
89
|
+
<field name="EncryptedNewPassword" required="N"/>
|
90
|
+
<field name="SessionStatus" required="N"/>
|
91
|
+
<field name="DefaultApplVerID" required="Y"/>
|
92
|
+
<field name="DefaultApplExtID" required="N"/>
|
93
|
+
<field name="DefaultCstmApplVerID" required="N"/>
|
94
|
+
<field name="Text" required="N"/>
|
95
|
+
<field name="EncodedTextLen" required="N"/>
|
96
|
+
<field name="EncodedText" required="N"/>
|
97
|
+
</message>
|
98
|
+
<!--
|
99
|
+
<message name="XMLnonFIX" msgtype="n" msgcat="admin">
|
100
|
+
</message>
|
101
|
+
-->
|
102
|
+
</messages>
|
103
|
+
<components>
|
104
|
+
<component name="HopGrp">
|
105
|
+
<group name="NoHops" required="N">
|
106
|
+
<field name="HopCompID" required="N"/>
|
107
|
+
<field name="HopSendingTime" required="N"/>
|
108
|
+
<field name="HopRefID" required="N"/>
|
109
|
+
</group>
|
110
|
+
</component>
|
111
|
+
<component name="MsgTypeGrp">
|
112
|
+
<group name="NoMsgTypes" required="N">
|
113
|
+
<field name="RefMsgType" required="N"/>
|
114
|
+
<field name="MsgDirection" required="N"/>
|
115
|
+
<field name="RefApplVerID" required="N"/>
|
116
|
+
<field name="RefApplExtID" required="N"/>
|
117
|
+
<field name="RefCstmApplVerID" required="N"/>
|
118
|
+
<field name="DefaultVerIndicator" required="N"/>
|
119
|
+
</group>
|
120
|
+
</component>
|
121
|
+
</components>
|
122
|
+
<fields>
|
123
|
+
<field number="7" name="BeginSeqNo" type="SEQNUM"/>
|
124
|
+
<field number="8" name="BeginString" type="STRING"/>
|
125
|
+
<field number="9" name="BodyLength" type="LENGTH"/>
|
126
|
+
<field number="10" name="CheckSum" type="STRING"/>
|
127
|
+
<field number="16" name="EndSeqNo" type="SEQNUM"/>
|
128
|
+
<field number="34" name="MsgSeqNum" type="SEQNUM"/>
|
129
|
+
<field number="35" name="MsgType" type="STRING">
|
130
|
+
<value enum="0" description="HEARTBEAT"/>
|
131
|
+
<value enum="1" description="TEST_REQUEST"/>
|
132
|
+
<value enum="2" description="RESEND_REQUEST"/>
|
133
|
+
<value enum="3" description="REJECT"/>
|
134
|
+
<value enum="4" description="SEQUENCE_RESET"/>
|
135
|
+
<value enum="5" description="LOGOUT"/>
|
136
|
+
<value enum="6" description="INDICATION_OF_INTEREST"/>
|
137
|
+
<value enum="7" description="ADVERTISEMENT"/>
|
138
|
+
<value enum="8" description="EXECUTION_REPORT"/>
|
139
|
+
<value enum="9" description="ORDER_CANCEL_REJECT"/>
|
140
|
+
<value enum="A" description="LOGON"/>
|
141
|
+
<value enum="B" description="NEWS"/>
|
142
|
+
<value enum="C" description="EMAIL"/>
|
143
|
+
<value enum="D" description="ORDER_SINGLE"/>
|
144
|
+
<value enum="E" description="ORDER_LIST"/>
|
145
|
+
<value enum="F" description="ORDER_CANCEL_REQUEST"/>
|
146
|
+
<value enum="G" description="ORDER_CANCEL_REPLACE_REQUEST"/>
|
147
|
+
<value enum="H" description="ORDER_STATUS_REQUEST"/>
|
148
|
+
<value enum="J" description="ALLOCATION_INSTRUCTION"/>
|
149
|
+
<value enum="K" description="LIST_CANCEL_REQUEST"/>
|
150
|
+
<value enum="L" description="LIST_EXECUTE"/>
|
151
|
+
<value enum="M" description="LIST_STATUS_REQUEST"/>
|
152
|
+
<value enum="N" description="LIST_STATUS"/>
|
153
|
+
<value enum="P" description="ALLOCATION_INSTRUCTION_ACK"/>
|
154
|
+
<value enum="Q" description="DONT_KNOW_TRADE"/>
|
155
|
+
<value enum="R" description="QUOTE_REQUEST"/>
|
156
|
+
<value enum="S" description="QUOTE"/>
|
157
|
+
<value enum="T" description="SETTLEMENT_INSTRUCTIONS"/>
|
158
|
+
<value enum="V" description="MARKET_DATA_REQUEST"/>
|
159
|
+
<value enum="W" description="MARKET_DATA_SNAPSHOT_FULL_REFRESH"/>
|
160
|
+
<value enum="X" description="MARKET_DATA_INCREMENTAL_REFRESH"/>
|
161
|
+
<value enum="Y" description="MARKET_DATA_REQUEST_REJECT"/>
|
162
|
+
<value enum="Z" description="QUOTE_CANCEL"/>
|
163
|
+
<value enum="a" description="QUOTE_STATUS_REQUEST"/>
|
164
|
+
<value enum="b" description="MASS_QUOTE_ACKNOWLEDGEMENT"/>
|
165
|
+
<value enum="c" description="SECURITY_DEFINITION_REQUEST"/>
|
166
|
+
<value enum="d" description="SECURITY_DEFINITION"/>
|
167
|
+
<value enum="e" description="SECURITY_STATUS_REQUEST"/>
|
168
|
+
<value enum="f" description="SECURITY_STATUS"/>
|
169
|
+
<value enum="g" description="TRADING_SESSION_STATUS_REQUEST"/>
|
170
|
+
<value enum="h" description="TRADING_SESSION_STATUS"/>
|
171
|
+
<value enum="i" description="MASS_QUOTE"/>
|
172
|
+
<value enum="j" description="BUSINESS_MESSAGE_REJECT"/>
|
173
|
+
<value enum="k" description="BID_REQUEST"/>
|
174
|
+
<value enum="l" description="BID_RESPONSE"/>
|
175
|
+
<value enum="m" description="LIST_STRIKE_PRICE"/>
|
176
|
+
<value enum="n" description="XML_MESSAGE"/>
|
177
|
+
<value enum="o" description="REGISTRATION_INSTRUCTIONS"/>
|
178
|
+
<value enum="p" description="REGISTRATION_INSTRUCTIONS_RESPONSE"/>
|
179
|
+
<value enum="q" description="ORDER_MASS_CANCEL_REQUEST"/>
|
180
|
+
<value enum="r" description="ORDER_MASS_CANCEL_REPORT"/>
|
181
|
+
<value enum="s" description="NEW_ORDER_CROSS"/>
|
182
|
+
<value enum="t" description="CROSS_ORDER_CANCEL_REPLACE_REQUEST"/>
|
183
|
+
<value enum="u" description="CROSS_ORDER_CANCEL_REQUEST"/>
|
184
|
+
<value enum="v" description="SECURITY_TYPE_REQUEST"/>
|
185
|
+
<value enum="w" description="SECURITY_TYPES"/>
|
186
|
+
<value enum="x" description="SECURITY_LIST_REQUEST"/>
|
187
|
+
<value enum="y" description="SECURITY_LIST"/>
|
188
|
+
<value enum="z" description="DERIVATIVE_SECURITY_LIST_REQUEST"/>
|
189
|
+
<value enum="AA" description="DERIVATIVE_SECURITY_LIST"/>
|
190
|
+
<value enum="AB" description="NEW_ORDER_MULTILEG"/>
|
191
|
+
<value enum="AC" description="MULTILEG_ORDER_CANCEL_REPLACE"/>
|
192
|
+
<value enum="AD" description="TRADE_CAPTURE_REPORT_REQUEST"/>
|
193
|
+
<value enum="AE" description="TRADE_CAPTURE_REPORT"/>
|
194
|
+
<value enum="AF" description="ORDER_MASS_STATUS_REQUEST"/>
|
195
|
+
<value enum="AG" description="QUOTE_REQUEST_REJECT"/>
|
196
|
+
<value enum="AH" description="RFQ_REQUEST"/>
|
197
|
+
<value enum="AI" description="QUOTE_STATUS_REPORT"/>
|
198
|
+
<value enum="AJ" description="QUOTE_RESPONSE"/>
|
199
|
+
<value enum="AK" description="CONFIRMATION"/>
|
200
|
+
<value enum="AL" description="POSITION_MAINTENANCE_REQUEST"/>
|
201
|
+
<value enum="AM" description="POSITION_MAINTENANCE_REPORT"/>
|
202
|
+
<value enum="AN" description="REQUEST_FOR_POSITIONS"/>
|
203
|
+
<value enum="AO" description="REQUEST_FOR_POSITIONS_ACK"/>
|
204
|
+
<value enum="AP" description="POSITION_REPORT"/>
|
205
|
+
<value enum="AQ" description="TRADE_CAPTURE_REPORT_REQUEST_ACK"/>
|
206
|
+
<value enum="AR" description="TRADE_CAPTURE_REPORT_ACK"/>
|
207
|
+
<value enum="AS" description="ALLOCATION_REPORT"/>
|
208
|
+
<value enum="AT" description="ALLOCATION_REPORT_ACK"/>
|
209
|
+
<value enum="AU" description="CONFIRMATION_ACK"/>
|
210
|
+
<value enum="AV" description="SETTLEMENT_INSTRUCTION_REQUEST"/>
|
211
|
+
<value enum="AW" description="ASSIGNMENT_REPORT"/>
|
212
|
+
<value enum="AX" description="COLLATERAL_REQUEST"/>
|
213
|
+
<value enum="AY" description="COLLATERAL_ASSIGNMENT"/>
|
214
|
+
<value enum="AZ" description="COLLATERAL_RESPONSE"/>
|
215
|
+
<value enum="CA" description="ORDER_MASS_ACTION_REQUEST"/>
|
216
|
+
<value enum="CB" description="USER_NOTIFICATION"/>
|
217
|
+
<value enum="CC" description="STREAM_ASSIGNMENT_REQUEST"/>
|
218
|
+
<value enum="CD" description="STREAM_ASSIGNMENT_REPORT"/>
|
219
|
+
<value enum="CE" description="STREAM_ASSIGNMENT_REPORT_ACK"/>
|
220
|
+
<value enum="BA" description="COLLATERAL_REPORT"/>
|
221
|
+
<value enum="BB" description="COLLATERAL_INQUIRY"/>
|
222
|
+
<value enum="BC" description="NETWORK_STATUS_REQUEST"/>
|
223
|
+
<value enum="BD" description="NETWORK_STATUS_RESPONSE"/>
|
224
|
+
<value enum="BE" description="USER_REQUEST"/>
|
225
|
+
<value enum="BF" description="USER_RESPONSE"/>
|
226
|
+
<value enum="BG" description="COLLATERAL_INQUIRY_ACK"/>
|
227
|
+
<value enum="BH" description="CONFIRMATION_REQUEST"/>
|
228
|
+
<value enum="BI" description="TRADING_SESSION_LIST_REQUEST"/>
|
229
|
+
<value enum="BJ" description="TRADING_SESSION_LIST"/>
|
230
|
+
<value enum="BK" description="SECURITY_LIST_UPDATE_REPORT"/>
|
231
|
+
<value enum="BL" description="ADJUSTED_POSITION_REPORT"/>
|
232
|
+
<value enum="BM" description="ALLOCATION_INSTRUCTION_ALERT"/>
|
233
|
+
<value enum="BN" description="EXECUTION_ACKNOWLEDGEMENT"/>
|
234
|
+
<value enum="BO" description="CONTRARY_INTENTION_REPORT"/>
|
235
|
+
<value enum="BP" description="SECURITY_DEFINITION_UPDATE_REPORT"/>
|
236
|
+
<value enum="BQ" description="SETTLEMENT_OBLIGATION_REPORT"/>
|
237
|
+
<value enum="BR" description="DERIVATIVE_SECURITY_LIST_UPDATE_REPORT"/>
|
238
|
+
<value enum="BS" description="TRADING_SESSION_LIST_UPDATER_EPORT"/>
|
239
|
+
<value enum="BT" description="MARKET_DEFINITION_REQUEST"/>
|
240
|
+
<value enum="BU" description="MARKET_DEFINITION"/>
|
241
|
+
<value enum="BV" description="MARKET_DEFINITION_UPDATE_REPORT"/>
|
242
|
+
<value enum="BW" description="APPLICATION_MESSAGE_REQUEST"/>
|
243
|
+
<value enum="BX" description="APPLICATION_MESSAGE_REQUEST_ACK"/>
|
244
|
+
<value enum="BY" description="APPLICATION_MESSAGE_REPORT"/>
|
245
|
+
<value enum="BZ" description="ORDER_MASS_ACTION_REPORT"/>
|
246
|
+
</field>
|
247
|
+
<field number="36" name="NewSeqNo" type="SEQNUM"/>
|
248
|
+
<field number="43" name="PossDupFlag" type="BOOLEAN">
|
249
|
+
<value enum="N" description="ORIGINAL_TRANSMISSION"/>
|
250
|
+
<value enum="Y" description="POSSIBLE_DUPLICATE"/>
|
251
|
+
</field>
|
252
|
+
<field number="45" name="RefSeqNum" type="SEQNUM"/>
|
253
|
+
<field number="49" name="SenderCompID" type="STRING"/>
|
254
|
+
<field number="50" name="SenderSubID" type="STRING"/>
|
255
|
+
<field number="52" name="SendingTime" type="UTCTIMESTAMP"/>
|
256
|
+
<field number="56" name="TargetCompID" type="STRING"/>
|
257
|
+
<field number="57" name="TargetSubID" type="STRING"/>
|
258
|
+
<field number="58" name="Text" type="STRING"/>
|
259
|
+
<field number="89" name="Signature" type="DATA"/>
|
260
|
+
<field number="90" name="SecureDataLen" type="LENGTH"/>
|
261
|
+
<field number="91" name="SecureData" type="DATA"/>
|
262
|
+
<field number="93" name="SignatureLength" type="LENGTH"/>
|
263
|
+
<field number="95" name="RawDataLength" type="LENGTH"/>
|
264
|
+
<field number="96" name="RawData" type="DATA"/>
|
265
|
+
<field number="97" name="PossResend" type="BOOLEAN">
|
266
|
+
<value enum="N" description="ORIGINAL_TRANSMISSION"/>
|
267
|
+
<value enum="Y" description="POSSIBLE_RESEND"/>
|
268
|
+
</field>
|
269
|
+
<field number="98" name="EncryptMethod" type="INT">
|
270
|
+
<value enum="0" description="NONE_OTHER"/>
|
271
|
+
<value enum="1" description="PKCS"/>
|
272
|
+
<value enum="2" description="DES"/>
|
273
|
+
<value enum="3" description="PKCS_DES"/>
|
274
|
+
<value enum="4" description="PGP_DES"/>
|
275
|
+
<value enum="5" description="PGP_DES_MD5"/>
|
276
|
+
<value enum="6" description="PEM_DES_MD5"/>
|
277
|
+
</field>
|
278
|
+
<field number="108" name="HeartBtInt" type="INT"/>
|
279
|
+
<field number="112" name="TestReqID" type="STRING"/>
|
280
|
+
<field number="115" name="OnBehalfOfCompID" type="STRING"/>
|
281
|
+
<field number="116" name="OnBehalfOfSubID" type="STRING"/>
|
282
|
+
<field number="122" name="OrigSendingTime" type="UTCTIMESTAMP"/>
|
283
|
+
<field number="123" name="GapFillFlag" type="BOOLEAN">
|
284
|
+
<value enum="N" description="SEQUENCE_RESET_IGNORE_MSG_SEQ_NUM"/>
|
285
|
+
<value enum="Y" description="GAP_FILL_MESSAGE_MSG_SEQ_NUM_FIELD_VALID"/>
|
286
|
+
</field>
|
287
|
+
<field number="128" name="DeliverToCompID" type="STRING"/>
|
288
|
+
<field number="129" name="DeliverToSubID" type="STRING"/>
|
289
|
+
<field number="141" name="ResetSeqNumFlag" type="BOOLEAN">
|
290
|
+
<value enum="N" description="NO"/>
|
291
|
+
<value enum="Y" description="YES_RESET_SEQUENCE_NUMBERS"/>
|
292
|
+
</field>
|
293
|
+
<field number="142" name="SenderLocationID" type="STRING"/>
|
294
|
+
<field number="143" name="TargetLocationID" type="STRING"/>
|
295
|
+
<field number="144" name="OnBehalfOfLocationID" type="STRING"/>
|
296
|
+
<field number="145" name="DeliverToLocationID" type="STRING"/>
|
297
|
+
<field number="212" name="XmlDataLen" type="LENGTH"/>
|
298
|
+
<field number="213" name="XmlData" type="DATA"/>
|
299
|
+
<field number="347" name="MessageEncoding" type="STRING"/>
|
300
|
+
<field number="354" name="EncodedTextLen" type="LENGTH"/>
|
301
|
+
<field number="355" name="EncodedText" type="DATA"/>
|
302
|
+
<field number="369" name="LastMsgSeqNumProcessed" type="SEQNUM"/>
|
303
|
+
<field number="371" name="RefTagID" type="INT"/>
|
304
|
+
<field number="372" name="RefMsgType" type="STRING"/>
|
305
|
+
<field number="373" name="SessionRejectReason" type="INT">
|
306
|
+
<value enum="0" description="INVALID_TAG_NUMBER"/>
|
307
|
+
<value enum="1" description="REQUIRED_TAG_MISSING"/>
|
308
|
+
<value enum="2" description="TAG_NOT_DEFINED_FOR_THIS_MESSAGE_TYPE"/>
|
309
|
+
<value enum="3" description="UNDEFINED_TAG"/>
|
310
|
+
<value enum="4" description="TAG_SPECIFIED_WITHOUT_A_VALUE"/>
|
311
|
+
<value enum="5" description="VALUE_IS_INCORRECT"/>
|
312
|
+
<value enum="6" description="INCORRECT_DATA_FORMAT_FOR_VALUE"/>
|
313
|
+
<value enum="7" description="DECRYPTION_PROBLEM"/>
|
314
|
+
<value enum="8" description="SIGNATURE_PROBLEM"/>
|
315
|
+
<value enum="9" description="COMPID_PROBLEM"/>
|
316
|
+
<value enum="10" description="SENDINGTIME_ACCURACY_PROBLEM"/>
|
317
|
+
<value enum="11" description="INVALID_MSGTYPE"/>
|
318
|
+
<value enum="12" description="XML_VALIDATION_ERROR"/>
|
319
|
+
<value enum="13" description="TAG_APPEARS_MORE_THAN_ONCE"/>
|
320
|
+
<value enum="14" description="TAG_SPECIFIED_OUT_OF_REQUIRED_ORDER"/>
|
321
|
+
<value enum="15" description="REPEATING_GROUP_FIELDS_OUT_OF_ORDER"/>
|
322
|
+
<value enum="16" description="INCORRECT_NUMINGROUP_COUNT_FOR_REPEATING_GROUP"/>
|
323
|
+
<value enum="17" description="NON_DATA_VALUE_INCLUDES_FIELD_DELIMITER"/>
|
324
|
+
<value enum="18" description="INVALID_UNSUPPORTED_APPLICATION_VERSION"/>
|
325
|
+
<value enum="99" description="OTHER"/>
|
326
|
+
</field>
|
327
|
+
<field number="383" name="MaxMessageSize" type="LENGTH"/>
|
328
|
+
<field number="384" name="NoMsgTypes" type="NUMINGROUP"/>
|
329
|
+
<field number="385" name="MsgDirection" type="CHAR">
|
330
|
+
<value enum="R" description="RECEIVE"/>
|
331
|
+
<value enum="S" description="SEND"/>
|
332
|
+
</field>
|
333
|
+
<field number="464" name="TestMessageIndicator" type="BOOLEAN">
|
334
|
+
<value enum="N" description="FALES"/>
|
335
|
+
<value enum="Y" description="TRUE"/>
|
336
|
+
</field>
|
337
|
+
<field number="553" name="Username" type="STRING"/>
|
338
|
+
<field number="554" name="Password" type="STRING"/>
|
339
|
+
<field number="627" name="NoHops" type="NUMINGROUP"/>
|
340
|
+
<field number="628" name="HopCompID" type="STRING"/>
|
341
|
+
<field number="629" name="HopSendingTime" type="UTCTIMESTAMP"/>
|
342
|
+
<field number="630" name="HopRefID" type="SEQNUM"/>
|
343
|
+
<field number="789" name="NextExpectedMsgSeqNum" type="SEQNUM"/>
|
344
|
+
<field number="925" name="NewPassword" type="STRING"/>
|
345
|
+
<field number="1128" name="ApplVerID" type="STRING">
|
346
|
+
<value enum="0" description="FIX27"/>
|
347
|
+
<value enum="1" description="FIX30"/>
|
348
|
+
<value enum="2" description="FIX40"/>
|
349
|
+
<value enum="3" description="FIX41"/>
|
350
|
+
<value enum="4" description="FIX42"/>
|
351
|
+
<value enum="5" description="FIX43"/>
|
352
|
+
<value enum="6" description="FIX44"/>
|
353
|
+
<value enum="7" description="FIX50"/>
|
354
|
+
<value enum="8" description="FIX50SP1"/>
|
355
|
+
<value enum="9" description="FIX50SP2"/>
|
356
|
+
</field>
|
357
|
+
<field number="1129" name="CstmApplVerID" type="STRING"/>
|
358
|
+
<field number="1130" name="RefApplVerID" type="STRING"/>
|
359
|
+
<field number="1131" name="RefCstmApplVerID" type="STRING"/>
|
360
|
+
<field number="1137" name="DefaultApplVerID" type="STRING"/>
|
361
|
+
<field number="1156" name="ApplExtID" type="INT"/>
|
362
|
+
<field number="1400" name="EncryptedPasswordMethod" type="INT"/>
|
363
|
+
<field number="1401" name="EncryptedPasswordLen" type="LENGTH"/>
|
364
|
+
<field number="1402" name="EncryptedPassword" type="DATA"/>
|
365
|
+
<field number="1403" name="EncryptedNewPasswordLen" type="LENGTH"/>
|
366
|
+
<field number="1404" name="EncryptedNewPassword" type="DATA"/>
|
367
|
+
<field number="1406" name="RefApplExtID" type="INT"/>
|
368
|
+
<field number="1407" name="DefaultApplExtID" type="INT"/>
|
369
|
+
<field number="1408" name="DefaultCstmApplVerID" type="STRING"/>
|
370
|
+
<field number="1409" name="SessionStatus" type="INT">
|
371
|
+
<value enum="0" description="SESSION_ACTIVE"/>
|
372
|
+
<value enum="1" description="SESSION_PASSWORD_CHANGED"/>
|
373
|
+
<value enum="2" description="SESSION_PASSWORD_DUE_TO_EXPIRE"/>
|
374
|
+
<value enum="3" description="NEW_SESSION_PASSWORD_DOES_NOT_COMPLY_WITH_POLICY"/>
|
375
|
+
<value enum="4" description="SESSION_LOGOUT_COMPLETE"/>
|
376
|
+
<value enum="5" description="INVALID_USERNAME_OR_PASSWORD"/>
|
377
|
+
<value enum="6" description="ACCOUNT_LOCKED"/>
|
378
|
+
<value enum="7" description="LOGONS_ARE_NOT_ALLOWED_AT_THIS_TIME"/>
|
379
|
+
<value enum="8" description="PASSWORD_EXPIRED"/>
|
380
|
+
</field>
|
381
|
+
<field number="1410" name="DefaultVerIndicator" type="BOOLEAN"/>
|
382
|
+
</fields>
|
383
|
+
</fix>
|
data/features/support/env.rb
CHANGED
@@ -13,6 +13,14 @@ Around('@with_data_dictionary') do |scenario, block|
|
|
13
13
|
FIXSpec::data_dictionary= nil
|
14
14
|
end
|
15
15
|
|
16
|
+
Around('@with_data_dictionary', '@fix50') do |scenario, block|
|
17
|
+
FIXSpec::application_data_dictionary = FIXSpec::DataDictionary.new "features/support/FIX50SP1.xml"
|
18
|
+
FIXSpec::session_data_dictionary = FIXSpec::DataDictionary.new "features/support/FIXT11.xml"
|
19
|
+
block.call
|
20
|
+
FIXSpec::application_data_dictionary = nil
|
21
|
+
FIXSpec::session_data_dictionary = nil
|
22
|
+
end
|
23
|
+
|
16
24
|
Around('@ignore_length_and_checksum') do |scenario, block|
|
17
25
|
JsonSpec.excluded_keys=%w(CheckSum BodyLength)
|
18
26
|
block.call
|
data/fix_spec.gemspec
CHANGED
@@ -2,14 +2,15 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: fix_spec 0.4.0 ruby lib
|
5
6
|
|
6
7
|
Gem::Specification.new do |s|
|
7
8
|
s.name = "fix_spec"
|
8
|
-
s.version = "0.
|
9
|
+
s.version = "0.4.0"
|
9
10
|
|
10
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
12
|
s.authors = ["Chris Busbey"]
|
12
|
-
s.date = "
|
13
|
+
s.date = "2015-04-15"
|
13
14
|
s.description = "Build and Inspect FIX Messages with RSpec and Cucumber steps"
|
14
15
|
s.email = "info@connamara.com"
|
15
16
|
s.extra_rdoc_files = [
|
@@ -37,6 +38,8 @@ Gem::Specification.new do |s|
|
|
37
38
|
"features/paths.feature",
|
38
39
|
"features/step_definitions/steps.rb",
|
39
40
|
"features/support/FIX42.xml",
|
41
|
+
"features/support/FIX50SP1.xml",
|
42
|
+
"features/support/FIXT11.xml",
|
40
43
|
"features/support/env.rb",
|
41
44
|
"fix_spec.gemspec",
|
42
45
|
"lib/fix_spec.rb",
|
@@ -55,15 +58,15 @@ Gem::Specification.new do |s|
|
|
55
58
|
s.homepage = "http://github.com/connamara/fix_spec"
|
56
59
|
s.licenses = ["GPL"]
|
57
60
|
s.require_paths = ["lib"]
|
58
|
-
s.rubygems_version = "1.
|
61
|
+
s.rubygems_version = "2.1.9"
|
59
62
|
s.summary = "Build and Inspect FIX Messages"
|
60
63
|
|
61
64
|
if s.respond_to? :specification_version then
|
62
|
-
s.specification_version =
|
65
|
+
s.specification_version = 4
|
63
66
|
|
64
67
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
65
68
|
s.add_runtime_dependency(%q<json_spec>, ["~> 1.1.1"])
|
66
|
-
s.add_runtime_dependency(%q<quickfix-jruby>, ["~> 1.
|
69
|
+
s.add_runtime_dependency(%q<quickfix-jruby>, ["~> 1.6.0"])
|
67
70
|
s.add_runtime_dependency(%q<cuke_mem>, ["~> 0.1.1"])
|
68
71
|
s.add_development_dependency(%q<rspec>, ["~> 2.14"])
|
69
72
|
s.add_development_dependency(%q<jeweler>, ["~> 1.8"])
|
@@ -71,7 +74,7 @@ Gem::Specification.new do |s|
|
|
71
74
|
s.add_development_dependency(%q<rake>, ["~> 10.1"])
|
72
75
|
else
|
73
76
|
s.add_dependency(%q<json_spec>, ["~> 1.1.1"])
|
74
|
-
s.add_dependency(%q<quickfix-jruby>, ["~> 1.
|
77
|
+
s.add_dependency(%q<quickfix-jruby>, ["~> 1.6.0"])
|
75
78
|
s.add_dependency(%q<cuke_mem>, ["~> 0.1.1"])
|
76
79
|
s.add_dependency(%q<rspec>, ["~> 2.14"])
|
77
80
|
s.add_dependency(%q<jeweler>, ["~> 1.8"])
|
@@ -80,7 +83,7 @@ Gem::Specification.new do |s|
|
|
80
83
|
end
|
81
84
|
else
|
82
85
|
s.add_dependency(%q<json_spec>, ["~> 1.1.1"])
|
83
|
-
s.add_dependency(%q<quickfix-jruby>, ["~> 1.
|
86
|
+
s.add_dependency(%q<quickfix-jruby>, ["~> 1.6.0"])
|
84
87
|
s.add_dependency(%q<cuke_mem>, ["~> 0.1.1"])
|
85
88
|
s.add_dependency(%q<rspec>, ["~> 2.14"])
|
86
89
|
s.add_dependency(%q<jeweler>, ["~> 1.8"])
|