def setUp(self): for i in range(10): print print "Setup" self.persistDir = tempfile.mktemp() os.mkdir(self.persistDir) self.initiatorState = None self.acceptorState = None self.storedInitiatorStates = [] self.storedAcceptorStates = [] self.ic = InitiatorClient(self.initiatorHeartbeat, self.initiatorStateChange) self.ac = InitiatorClient(self.acceptorHeartbeat, self.acceptorStateChange) self.timesInitiatorEnteredNormalMessageProcessing = 0 self.timesAcceptorEnteredNormalMessageProcessing = 0 self.sendConfig = SessionConfig( 'initiator', 0, 'localhost', 'INITIATOR', 'ACCEPTOR', os.path.join(self.persistDir, "sender"), # Will be tempfile 60, self.ic) self.receiveConfig = SessionConfig( 'acceptor', 0, None, 'ACCEPTOR', 'INITIATOR', os.path.join(self.persistDir, "receiver"), 60, self.ac, ) config = [self.sendConfig, self.receiveConfig] self.sm = SessionManager(fix, config) # These are the series of state transitions the acceptor and initiator # will go through during test lifecycle self.acceptorStateChanges = [(AcceptorAwaitingLogon, NormalMessageProcessing), (NormalMessageProcessing, LoggedOut)] self.initiatorStateChanges = [ (InitiatorAwaitingLogon, NormalMessageProcessing), (NormalMessageProcessing, AwaitingLogout), (AwaitingLogout, LoggedOut) ] self.acceptorSession = self.sm.acceptorsByTuple.values()[0] self.initiatorSession = self.sm.initiatorsByTuple.values()[0]
msg_seq_um = my_order.get_header_field_value(fix.MsgSeqNum) print "SENDING ORDER >> %s %s %s" % (msg_seq_um, my_order, message_string) self.protocol.transport.write(message_string) def on_execution(self, prot, msg, seq, possDup): print "Got an execution ! %s" % possDup print "State is %s" % self.state msg.dump() self.session.logoff(False) def recovered_execution(self, *args): print "Recoverred ! %s" % str(args) #msg.dump() def on_recovered_new_order_single(self, *args): print "Recoverred ! %s" % str(args) config = yaml.load(open('../config/sender.yaml', 'r')) senderConfig = makeConfig(config) for x in senderConfig: x.app = Sender(fix) if __name__ == '__main__': sessionManager = SessionManager(fix, senderConfig) for x in senderConfig: x.app.recover() sessionManager.getConnected() reactor.run()
f.OrdStatus.FILLED, msg.get_field(f.Symbol), msg.get_field(f.Side), f.LeavesQty(0), f.CumQty(order_qty), f.LastShares(order_qty), f.LastPx(101.5), f.AvgPx(101.5)]) assert self.protocol is not None assert self.session is not None message_string = self.session.compile_message(reply) print ">>>MYEXEC %s %s" % (reply, message_string) self.protocol.transport.write(message_string) else: msg.get_header_field_value(f.PossDupFlag, default=False) config = yaml.load(open('../config/receiver.yaml', 'r')) if __name__ == '__main__': receiverConfig = makeConfig(config) for x in receiverConfig: x.app = Receiver(fix) sm = SessionManager(fix, receiverConfig) from twisted.internet import reactor print "About to listen" sm.getConnected() reactor.run()
msg.get_field(f.Side), f.LeavesQty(0), f.CumQty(order_qty), f.LastShares(order_qty), f.LastPx(101.5), f.AvgPx(101.5) ]) assert self.protocol is not None assert self.session is not None message_string = self.session.compile_message(reply) print ">>>MYEXEC %s %s" % (reply, message_string) self.protocol.transport.write(message_string) else: msg.get_header_field_value(f.PossDupFlag, default=False) config = yaml.load(open('../config/receiver.yaml', 'r')) if __name__ == '__main__': receiverConfig = makeConfig(config) for x in receiverConfig: x.app = Receiver(fix) sm = SessionManager(fix, receiverConfig) from twisted.internet import reactor print "About to listen" sm.getConnected() reactor.run()
print "SENDING ORDER >> %s %s %s" % (msg_seq_um, my_order, message_string) self.protocol.transport.write(message_string) def on_execution(self, prot, msg, seq, possDup): print "Got an execution ! %s" % possDup print "State is %s" % self.state msg.dump() self.session.logoff(False) def recovered_execution(self, *args): print "Recoverred ! %s" % str(args) #msg.dump() def on_recovered_new_order_single(self, *args): print "Recoverred ! %s" % str(args) config = yaml.load(open('../config/sender.yaml', 'r')) senderConfig = makeConfig(config) for x in senderConfig: x.app = Sender(fix) if __name__ == '__main__': sessionManager = SessionManager(fix, senderConfig) for x in senderConfig: x.app.recover() sessionManager.getConnected() reactor.run()