livekit-protocol 0.7.5

Livekit protocol and utilities for the Rust SDK
Documentation
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)
	})
}