From b6a7958c673ec2cb6ac4609e25a6a7bba3e3f4ed Mon Sep 17 00:00:00 2001 From: Jack Chalmers <18581268+JackChalmers@users.noreply.github.com> Date: Wed, 6 Aug 2025 09:27:24 -0500 Subject: [PATCH 1/2] add test for seq num not resetting when disconnected --- session_test.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/session_test.go b/session_test.go index 34634f1f3..37f8a5664 100644 --- a/session_test.go +++ b/session_test.go @@ -1026,3 +1026,25 @@ func (s *SessionSuite) TestSeqNumResetTime() { s.NextSenderMsgSeqNum(2) } + +func (s *SessionSuite) TestSeqNumResetTimeDisconnected() { + s.session.State = logonState{} + s.session.ResetSeqTime = time.Now().UTC().Add(time.Second * 3) + s.session.EnableResetSeqTime = true + + s.NextSenderMsgSeqNum(1) + s.NextTargetMsgSeqNum(1) + s.IncrNextTargetMsgSeqNum() + s.IncrNextSenderMsgSeqNum() + s.NextSenderMsgSeqNum(2) + s.NextTargetMsgSeqNum(2) + + s.session.onAdmin(stopReq{}) + s.Disconnected() + s.Stopped() + + s.MockApp.On("ToAdmin") + s.session.CheckResetTime(s.session, s.session.ResetSeqTime) + s.NextSenderMsgSeqNum(2) + s.NextTargetMsgSeqNum(1) +} From 29c47d4968c734a1e435972f77d35517540f8f55 Mon Sep 17 00:00:00 2001 From: Jack Chalmers <18581268+JackChalmers@users.noreply.github.com> Date: Wed, 6 Aug 2025 09:33:30 -0500 Subject: [PATCH 2/2] cleanup test and add comments --- session_test.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/session_test.go b/session_test.go index 37f8a5664..99c9dfbe0 100644 --- a/session_test.go +++ b/session_test.go @@ -1029,7 +1029,7 @@ func (s *SessionSuite) TestSeqNumResetTime() { func (s *SessionSuite) TestSeqNumResetTimeDisconnected() { s.session.State = logonState{} - s.session.ResetSeqTime = time.Now().UTC().Add(time.Second * 3) + s.session.ResetSeqTime = time.Now().UTC().Add(time.Second * 2) s.session.EnableResetSeqTime = true s.NextSenderMsgSeqNum(1) @@ -1043,8 +1043,12 @@ func (s *SessionSuite) TestSeqNumResetTimeDisconnected() { s.Disconnected() s.Stopped() + // Wait for reset time to pass. + time.Sleep(time.Second * 3) + s.MockApp.On("ToAdmin") - s.session.CheckResetTime(s.session, s.session.ResetSeqTime) + // Disconnected so the seq numbers should not be reset. + s.session.CheckResetTime(s.session, time.Now().UTC()) s.NextSenderMsgSeqNum(2) - s.NextTargetMsgSeqNum(1) + s.NextTargetMsgSeqNum(2) }