public void testPrefix() { QuickFix.SessionID someSessionID = new QuickFix.SessionID("FIX.4.4", "sender", "target"); QuickFix.SessionID someSessionIDWithQualifier = new QuickFix.SessionID("FIX.4.3", "sender", "target","foo"); Assert.AreEqual("FIX.4.4-sender-target", QuickFix.FileLog.Prefix(someSessionID)); Assert.AreEqual("FIX.4.3-sender-target-foo", QuickFix.FileLog.Prefix(someSessionIDWithQualifier)); }
public void testPrefixForSessionWithSubsAndLoc() { QuickFix.SessionID sessionIDWithSubsAndLocation = new QuickFix.SessionID("FIX.4.2", "SENDERCOMP", "SENDERSUB", "SENDERLOC", "TARGETCOMP", "TARGETSUB", "TARGETLOC"); Assert.That(QuickFix.FileStore.Prefix(sessionIDWithSubsAndLocation), Is.EqualTo("FIX.4.2-SENDERCOMP_SENDERSUB_SENDERLOC-TARGETCOMP_TARGETSUB_TARGETLOC")); QuickFix.SessionID sessionIDWithSubsNoLocation = new QuickFix.SessionID("FIX.4.2", "SENDERCOMP", "SENDERSUB", "TARGETCOMP", "TARGETSUB"); Assert.That(QuickFix.FileStore.Prefix(sessionIDWithSubsNoLocation), Is.EqualTo("FIX.4.2-SENDERCOMP_SENDERSUB-TARGETCOMP_TARGETSUB")); }
public void testThrowsIfNoConfig() { QuickFix.SessionID sessionID = new QuickFix.SessionID("FIX.4.2", "SENDERCOMP", "TARGETCOMP"); QuickFix.Dictionary config = new QuickFix.Dictionary(); config.SetString(QuickFix.SessionSettings.CONNECTION_TYPE, "initiator"); QuickFix.SessionSettings settings = new QuickFix.SessionSettings(); settings.Set(sessionID, config); QuickFix.FileLogFactory factory = new QuickFix.FileLogFactory(settings); Assert.Throws<QuickFix.ConfigError>(delegate { factory.Create(sessionID); }); }
public void testLogRotation() { string logDir = "log"; if (System.IO.Directory.Exists(logDir)) System.IO.Directory.Delete(logDir, true); QuickFix.SessionID sessionID = new QuickFix.SessionID("FIX.4.2", "SENDERCOMP", "TARGETCOMP"); QuickFix.SessionSettings settings = new QuickFix.SessionSettings(); QuickFix.Dictionary config = new QuickFix.Dictionary(); config.SetString(QuickFix.SessionSettings.CONNECTION_TYPE, "initiator"); config.SetString(QuickFix.SessionSettings.FILE_LOG_PATH, logDir); int NumLogsToRotate = 5; config.SetString(QuickFix.SessionSettings.FILE_LOG_ROTATE_NUM_TO_KEEP, NumLogsToRotate.ToString()); config.SetString(QuickFix.SessionSettings.FILE_LOG_ROTATE_ON_NEW_SESSION, "Y"); settings.Set(sessionID, config); string timeStampMinute = System.DateTime.UtcNow.ToString("MMddyyyy-HHmm"); for (int i = 0; i < NumLogsToRotate; i++) { QuickFix.FileLogFactory factory = new QuickFix.FileLogFactory(settings); log = (QuickFix.FileLog)factory.Create(sessionID); log.OnEvent("some event"); log.OnIncoming("some incoming"); log.OnOutgoing("some outgoing"); Assert.That(System.IO.File.Exists(logDir+"/FIX.4.2-SENDERCOMP-TARGETCOMP.event.current.log")); Assert.That(System.IO.File.Exists(logDir+"/FIX.4.2-SENDERCOMP-TARGETCOMP.messages.current.log")); log.Dispose(); } Assert.That(System.IO.Directory.GetFiles(logDir, String.Format("FIX.4.2-SENDERCOMP-TARGETCOMP.messages.current.log.{0}*",timeStampMinute), System.IO.SearchOption.TopDirectoryOnly) .Count().Equals(NumLogsToRotate-1)); Assert.That(System.IO.Directory.GetFiles(logDir, String.Format("FIX.4.2-SENDERCOMP-TARGETCOMP.event.current.log.{0}*", timeStampMinute), System.IO.SearchOption.TopDirectoryOnly) .Count().Equals(NumLogsToRotate-1)); }
public void setup() { if (System.IO.Directory.Exists("store")) System.IO.Directory.Delete("store", true); sessionID = new QuickFix.SessionID("FIX.4.2", "SENDERCOMP", "TARGETCOMP"); QuickFix.Dictionary config = new QuickFix.Dictionary(); config.SetString(QuickFix.SessionSettings.CONNECTION_TYPE, "initiator"); config.SetString(QuickFix.SessionSettings.FILE_STORE_PATH, "store"); settings = new QuickFix.SessionSettings(); settings.Set(sessionID, config); factory = new QuickFix.FileStoreFactory(settings); store = (QuickFix.FileStore)factory.Create(sessionID); }
public UnitTestContext() { QuickFix.Dictionary config = CreateConfig(); QuickFix.SessionID sessionID = new QuickFix.SessionID("FIX.4.2", "SENDER", "TARGET"); QuickFix.SessionSettings settings = new QuickFix.SessionSettings(); settings.Set(sessionID, config); App = new QFApp(settings); Initiator = new MockInitiator(); App.Initiator = Initiator; Session = new SessionThatTracksOutbound( App, new QuickFix.MemoryStoreFactory(), sessionID, new QuickFix.DataDictionaryProvider(), new QuickFix.SessionSchedule(config), 0, new QuickFix.ScreenLogFactory(settings), new QuickFix.DefaultMessageFactory(), "blah"); Session.MaxLatency = 120; }
public void testGeneratedFileName() { if (System.IO.Directory.Exists("log")) System.IO.Directory.Delete("log", true); QuickFix.SessionID sessionID = new QuickFix.SessionID("FIX.4.2", "SENDERCOMP", "TARGETCOMP"); QuickFix.SessionSettings settings = new QuickFix.SessionSettings(); QuickFix.Dictionary config = new QuickFix.Dictionary(); config.SetString(QuickFix.SessionSettings.CONNECTION_TYPE, "initiator"); config.SetString(QuickFix.SessionSettings.FILE_LOG_PATH, "log"); settings.Set(sessionID, config); QuickFix.FileLogFactory factory = new QuickFix.FileLogFactory(settings); log = (QuickFix.FileLog)factory.Create(sessionID); log.OnEvent("some event"); log.OnIncoming("some incoming"); log.OnOutgoing("some outgoing"); Assert.That(System.IO.File.Exists("log/FIX.4.2-SENDERCOMP-TARGETCOMP.event.current.log")); Assert.That(System.IO.File.Exists("log/FIX.4.2-SENDERCOMP-TARGETCOMP.messages.current.log")); }
public virtual void onMessage(MarketDataSnapshotFullRefresh message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(SettlementInstructionRequest message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(AllocationReportAck message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(TradeCaptureReportAck message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(PositionMaintenanceReport message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(QuoteStatusReport message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(RegistrationInstructionsResponse message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(ListStrikePrice message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(BusinessMessageReject message, QuickFix.SessionID session) { }
public virtual void onMessage(TradingSessionStatus message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(SecurityDefinitionRequest message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(MassQuoteAcknowledgement message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(MarketDataRequestReject message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(OrderMassCancelReport message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(QuoteResponse message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(CrossOrderCancelRequest message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(RequestForPositionsAck message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(SecurityTypes message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(Advertisement message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public new void onMessage(QuickFix.Message message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(ConfirmationAck message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(DerivativeSecurityList message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(AssignmentReport message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(NewOrderMultileg message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public void setup() { responder = new MockResponder(); sessionID = new QuickFix.SessionID("FIX.4.2", "SENDER", "TARGET"); application = new MockApplication(); settings = new QuickFix.SessionSettings(); QuickFix.Dictionary config = new QuickFix.Dictionary(); config.SetBool(QuickFix.SessionSettings.PERSIST_MESSAGES, false); config.SetString(QuickFix.SessionSettings.CONNECTION_TYPE, "initiator"); config.SetString(QuickFix.SessionSettings.START_TIME, "00:00:00"); config.SetString(QuickFix.SessionSettings.END_TIME, "00:00:00"); settings.Set(sessionID, config); session = new QuickFix.Session(application, new QuickFix.MemoryStoreFactory(), sessionID, new QuickFix.DataDictionaryProvider(),new QuickFix.SessionSchedule(config), 0, new QuickFix.ScreenLogFactory(settings), new QuickFix.DefaultMessageFactory(), "blah"); session.SetResponder(responder); session.CheckLatency = false; // must be set for an initiator int heartBeatInterval = 10; session2 = new QuickFix.Session(application, new QuickFix.MemoryStoreFactory(), new QuickFix.SessionID("FIX.4.2", "OTHER_SENDER", "OTHER_TARGET"), new QuickFix.DataDictionaryProvider(), new QuickFix.SessionSchedule(config), heartBeatInterval, new QuickFix.ScreenLogFactory(settings), new QuickFix.DefaultMessageFactory(), "blah"); session2.SetResponder(responder); session2.CheckLatency = false; seqNum = 1; }
public void TestMillisecondsInOrigSendingTimeStamp() { // MS in timestamp should default to Y Assert.That(session.MillisecondsInTimeStamp); // Logon first Logon(); // Do a resend request SendResendRequest(0, 2); AssertMsInTag(QuickFix.Fields.MsgType.SEQUENCERESET, QuickFix.Fields.Tags.OrigSendingTime, true); // NO MS session.MillisecondsInTimeStamp = false; SendResendRequest(0, 2); AssertMsInTag(QuickFix.Fields.MsgType.SEQUENCERESET, QuickFix.Fields.Tags.OrigSendingTime, false); // Less than FIX42 - no ms in timestamp, even if you tell it to sessionID = new QuickFix.SessionID(QuickFix.FixValues.BeginString.FIX40, "SENDER", "TARGET"); session.SessionID = sessionID; session.MillisecondsInTimeStamp = true; SendResendRequest40(0, 2); AssertMsInTag(QuickFix.Fields.MsgType.SEQUENCERESET, QuickFix.Fields.Tags.OrigSendingTime, false); }
public virtual void onMessage(DontKnowTrade message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(Logon message, QuickFix.SessionID session) { }
public virtual void onMessage(MultilegOrderCancelReplace message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public virtual void onMessage(MarketDataIncrementalRefresh message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public void TestDoesSessionExist() { QuickFix.SessionID invalidSessionID = new QuickFix.SessionID("FIX.4.2", "NOT_SENDER", "NOT_TARGET"); QuickFix.SessionID validSessionID = new QuickFix.SessionID("FIX.4.2", "SENDER", "TARGET"); Assert.That(QuickFix.Session.DoesSessionExist(invalidSessionID), Is.EqualTo(false)); Assert.That(QuickFix.Session.DoesSessionExist(validSessionID), Is.EqualTo(true)); }
public virtual void onMessage(OrderMassStatusRequest message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }
public void TestMillisecondsInSendingTimeStamp() { // MS in timestamp should default to Y Assert.That(session.MillisecondsInTimeStamp); // Ms should show up Logon(); AssertMsInTag(QuickFix.Fields.MsgType.LOGON, QuickFix.Fields.Tags.SendingTime, true); // No ms session.MillisecondsInTimeStamp = false; Logon(); Assert.That(responder.msgLookup[QuickFix.Fields.MsgType.LOGON].Count == 2); AssertMsInTag(QuickFix.Fields.MsgType.LOGON, QuickFix.Fields.Tags.SendingTime, false); // Less than FIX42 - no ms in timestamp, even if you tell it to sessionID = new QuickFix.SessionID(QuickFix.FixValues.BeginString.FIX40, "SENDER", "TARGET"); session.SessionID = sessionID; session.MillisecondsInTimeStamp = true; Logon40(); Assert.That(responder.msgLookup[QuickFix.Fields.MsgType.LOGON].Count == 3); AssertMsInTag(QuickFix.Fields.MsgType.LOGON, QuickFix.Fields.Tags.SendingTime, false); }
public virtual void onMessage(RFQRequest message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }