def test_checkIsInMessage(self): self.object.setVersion(fix.BeginString_FIX40) self.object.addField(fix.BeginString().getTag()) self.object.addField(fix.BodyLength().getTag()) self.object.addField(fix.MsgType().getTag()) self.object.addField(fix.CheckSum().getTag()) self.object.addField(fix.TestReqID().getTag()) self.object.addField(fix.Symbol().getTag()) self.object.addMsgType(fix.MsgType_TestRequest) self.object.addMsgField(fix.MsgType_TestRequest, fix.TestReqID().getTag()) testReqID = fix.TestReqID("1") message = fix40.TestRequest() message.setField(testReqID) try: self.object.validate(message) self.failUnless(1) except fix.Exception as e: self.failUnless(0) message.setField(fix.Symbol("MSFT")) try: self.object.validate(message) self.failUnless(0) except fix.Exception as e: self.failUnless(1)
def test_isEmpty(self): message = fix.Message() self.assertTrue( message.isEmpty() ) message.getHeader().setField( fix.BeginString("FIX.4.2") ) self.assertTrue( message.isEmpty() == 0 ) message.clear() self.assertTrue( message.isEmpty() ) message.setField( fix.Symbol("MSFT") ) self.assertTrue( message.isEmpty() == 0 ) message.clear() self.assertTrue( message.isEmpty() ) message.getTrailer().setField( fix.CheckSum(10) ) self.assertTrue( message.isEmpty() == 0 ) message.clear() self.assertTrue( message.isEmpty() )
def test_checkHasRequired(self): self.object.setVersion(fix.BeginString_FIX40) self.object.addField(fix.BeginString().getTag()) self.object.addField(fix.BodyLength().getTag()) self.object.addField(fix.MsgType().getTag()) self.object.addField(fix.SenderCompID().getTag()) self.object.addField(fix.TargetCompID().getTag()) self.object.addHeaderField(fix.SenderCompID().getTag(), True) self.object.addHeaderField(fix.TargetCompID().getTag(), False) self.object.addField(fix.CheckSum().getTag()) self.object.addField(fix.TestReqID().getTag()) self.object.addMsgType(fix.MsgType_TestRequest) self.object.addMsgField(fix.MsgType_TestRequest, fix.TestReqID().getTag()) self.object.addRequiredField(fix.MsgType_TestRequest, fix.TestReqID().getTag()) message = fix40.TestRequest() try: self.object.validate(message) self.failUnless(0) except fix.Exception as e: self.failUnless(1) message.getHeader().setField(fix.SenderCompID("SENDER")) try: self.object.validate(message) self.failUnless(0) except fix.Exception as e: self.failUnless(1) message.setField(fix.TestReqID("1")) try: self.object.validate(message) self.failUnless(1) except fix.Exception as e: self.failUnless(0) message.getHeader().removeField(fix.SenderCompID().getTag()) message.setField(fix.SenderCompID("SENDER")) try: self.object.validate(message) self.failUnless(0) except fix.Exception as e: self.failUnless(1)
def test_checkValidTagNumber(self): self.object.setVersion(fix.BeginString_FIX40) self.object.addField(fix.BeginString().getTag()) self.object.addField(fix.BodyLength().getTag()) self.object.addField(fix.MsgType().getTag()) self.object.addField(fix.CheckSum().getTag()) self.object.addField(fix.TestReqID().getTag()) self.object.addMsgType(fix.MsgType_TestRequest) self.object.addMsgField(fix.MsgType_TestRequest, fix.TestReqID().getTag()) testReqID = fix.TestReqID("1") message = fix40.TestRequest() message.setField(testReqID) message.setField(TooHigh("value")) try: self.object.validate(message) self.failUnless(0) except fix.Exception as e: self.failUnless(1) self.object.addField(501) self.object.addMsgField(fix.MsgType_TestRequest, 501) try: self.object.validate(message) self.failUnless(1) except fix.Exception as e: self.failUnless(0) message.setField(5000, "value") try: self.object.validate(message) self.failUnless(0) except fix.Exception as e: self.failUnless(1) self.object.checkUserDefinedFields(False) try: self.object.validate(message) self.failUnless(1) except fix.Exception as e: self.failUnless(0)
def test_checkHasRequired(self): self.object.setVersion(fix.BeginString_FIX40) self.object.addField(fix.BeginString().getField()) self.object.addField(fix.BodyLength().getField()) self.object.addField(fix.MsgType().getField()) self.object.addField(fix.SenderCompID().getField()) self.object.addField(fix.TargetCompID().getField()) self.object.addHeaderField(fix.SenderCompID().getField(), 1) self.object.addHeaderField(fix.TargetCompID().getField(), 0) self.object.addField(fix.CheckSum().getField()) self.object.addField(fix.TestReqID().getField()) self.object.addMsgType(fix.MsgType_TestRequest) self.object.addMsgField(fix.MsgType_TestRequest, fix.TestReqID().getField()) self.object.addRequiredField(fix.MsgType_TestRequest, fix.TestReqID().getField()) message = fix40.TestRequest() try: self.object.validate(message) self.failUnless(0) except fix.Exception, e: self.failUnless(1)
header.setField(fix.MsgType(fix.MsgType_NewOrderSingle)) header.setField(fix.SendingTime()) header.setField(fix.SenderSubID("SG1")) header.setField(fix.TargetSubID("BARCA")) header.setField(fix.MsgSeqNum()) header.setField(fix.DefaultApplVerID(fix.ApplVerID_FIX42)) message.setField(fix.ClOrdID("ClOrdID")) message.setField( fix.AccountType( fix. AccountType_ACCOUNT_IS_CARRIED_ON_CUSTOMER_SIDE_OF_BOOKS)) message.setField(fix.Symbol("APPL")) message.setField( fix.HandlInst( fix. HandlInst_AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION )) message.setField(fix.ReceivedDeptID("I")) message.setField(fix.Side(fix.Side_BUY)) message.setField(fix.TransactTime()) message.setField(fix.OrderQty(1000)) message.setField(fix.OrdType(fix.OrdType_MARKET)) message.setField(fix.Price(2000)) trailer.setField(fix.CheckSum()) application.send(message) message_flag = False except (fix.ConfigError, fix.RuntimeError) as e: print(e)
begin_string = fix.BeginString() body_length = fix.BodyLength() message_type = fix.MsgType() sender_id = fix.SenderCompID() target_id = fix.TargetCompID() msg_seq = fix.MsgSeqNum() sender_sub_id = fix.SenderSubID() target_sub_id = fix.TargetSubID() duplicate_flag = fix.PossDupFlag() user_req_type = fix.UserRequestType() gateway_id = fix.MarketID() orig_sending_time = fix.OrigSendingTime() sending_time = fix.SendingTime() on_behalf_id = fix.OnBehalfOfCompID() check_sum = fix.CheckSum() TOKEN_NO = 48 LTP = 1835 LTQ = 1843 LTT = 1844 AVG_TP = 1845 OPEN = 1861 CLOSE = 1809 HIGH = 1802 LOW = 1801 YEAR_HIGH = 1824 YEAR_LOW = 1825 VOLUME = 387 TURNOVER = 1840 PERC_CHANGE = 1823