Files
protocol/observability/sessiontimer_test.go
Paul Wells 316b0ddba7 handle session timer skips >1 min (#1227)
* handle session timer skips >1 min

* Create silly-books-attend.md
2025-09-23 20:35:07 -07:00

33 lines
725 B
Go

package observability
import (
"testing"
"time"
"github.com/stretchr/testify/require"
)
func TestSessionTimer(t *testing.T) {
t.Run("advance 100ms", func(t *testing.T) {
ts := time.Now()
st := NewSessionTimer(ts)
millis, mins := st.Advance(ts.Add(100 * time.Millisecond))
require.EqualValues(t, 100, millis)
require.EqualValues(t, 1, mins)
millis, mins = st.Advance(ts.Add(200 * time.Millisecond))
require.EqualValues(t, 100, millis)
require.EqualValues(t, 0, mins)
})
t.Run("advance 2.5m", func(t *testing.T) {
ts := time.Now()
st := NewSessionTimer(ts)
millis, mins := st.Advance(ts.Add(150 * time.Second))
require.EqualValues(t, 150000, millis)
require.EqualValues(t, 3, mins)
})
}