diff --git a/session_test.go b/session_test.go index 34634f1f3..99c9dfbe0 100644 --- a/session_test.go +++ b/session_test.go @@ -1026,3 +1026,29 @@ func (s *SessionSuite) TestSeqNumResetTime() { s.NextSenderMsgSeqNum(2) } + +func (s *SessionSuite) TestSeqNumResetTimeDisconnected() { + s.session.State = logonState{} + s.session.ResetSeqTime = time.Now().UTC().Add(time.Second * 2) + 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() + + // Wait for reset time to pass. + time.Sleep(time.Second * 3) + + s.MockApp.On("ToAdmin") + // Disconnected so the seq numbers should not be reset. + s.session.CheckResetTime(s.session, time.Now().UTC()) + s.NextSenderMsgSeqNum(2) + s.NextTargetMsgSeqNum(2) +}