@@ -51,6 +51,7 @@ func (s *SessionFactorySuite) TestDefaults() {
5151 s .Equal (Millis , session .timestampPrecision )
5252 s .Equal (120 * time .Second , session .MaxLatency )
5353 s .False (session .DisableMessagePersist )
54+ s .False (session .HeartBtIntOverride )
5455}
5556
5657func (s * SessionFactorySuite ) TestResetOnLogon () {
@@ -358,9 +359,47 @@ func (s *SessionFactorySuite) TestNewSessionBuildInitiators() {
358359 s .Equal ("127.0.0.1:5000" , session .SocketConnectAddress [0 ])
359360}
360361
362+ func (s * SessionFactorySuite ) TestNewSessionBuildAcceptors () {
363+ s .sessionFactory .BuildInitiators = false
364+ s .SessionSettings .Set (config .HeartBtInt , "34" )
365+
366+ session , err := s .newSession (s .SessionID , s .MessageStoreFactory , s .SessionSettings , s .LogFactory , s .App )
367+ s .Nil (err )
368+ s .False (session .InitiateLogon )
369+ s .Zero (session .HeartBtInt )
370+ s .False (session .HeartBtIntOverride )
371+
372+ s .SessionSettings .Set (config .HeartBtIntOverride , "Y" )
373+ session , err = s .newSession (s .SessionID , s .MessageStoreFactory , s .SessionSettings , s .LogFactory , s .App )
374+ s .Nil (err )
375+ s .False (session .InitiateLogon )
376+ s .Equal (34 * time .Second , session .HeartBtInt )
377+ s .True (session .HeartBtIntOverride )
378+ }
379+
361380func (s * SessionFactorySuite ) TestNewSessionBuildInitiatorsValidHeartBtInt () {
362381 s .sessionFactory .BuildInitiators = true
363382
383+ _ , err := s .newSession (s .SessionID , s .MessageStoreFactory , s .SessionSettings , s .LogFactory , s .App )
384+ s .NotNil (err , "HeartBtInt should be required for acceptors with override defined" )
385+
386+ s .SessionSettings .Set (config .HeartBtInt , "not a number" )
387+ _ , err = s .newSession (s .SessionID , s .MessageStoreFactory , s .SessionSettings , s .LogFactory , s .App )
388+ s .NotNil (err , "HeartBtInt must be a number" )
389+
390+ s .SessionSettings .Set (config .HeartBtInt , "0" )
391+ _ , err = s .newSession (s .SessionID , s .MessageStoreFactory , s .SessionSettings , s .LogFactory , s .App )
392+ s .NotNil (err , "HeartBtInt must be greater than zero" )
393+
394+ s .SessionSettings .Set (config .HeartBtInt , "-20" )
395+ _ , err = s .newSession (s .SessionID , s .MessageStoreFactory , s .SessionSettings , s .LogFactory , s .App )
396+ s .NotNil (err , "HeartBtInt must be greater than zero" )
397+ }
398+
399+ func (s * SessionFactorySuite ) TestNewSessionBuildAcceptorsValidHeartBtInt () {
400+ s .sessionFactory .BuildInitiators = false
401+
402+ s .SessionSettings .Set (config .HeartBtIntOverride , "Y" )
364403 _ , err := s .newSession (s .SessionID , s .MessageStoreFactory , s .SessionSettings , s .LogFactory , s .App )
365404 s .NotNil (err , "HeartBtInt should be required for initiators" )
366405
0 commit comments