//go:build integration package store import ( "context" "testing" "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/shcizo/package-updater/internal/master/model" ) func TestSessions(t *testing.T) { s := openTestStore(t) ctx := context.Background() now := time.Date(2026, 10, 12, 12, 0, 0, 0, time.UTC) sess := model.Session{ID: "s1", Subject: "sub", Name: "Samuel", Email: "s@example.com", CSRFToken: "c1", ExpiresAt: now.Add(time.Hour)} require.NoError(t, s.CreateSession(ctx, sess)) got, err := s.GetSession(ctx, "s1", now) require.NoError(t, err) assert.Equal(t, "Samuel", got.Name) assert.Equal(t, "c1", got.CSRFToken) _, err = s.GetSession(ctx, "s1", now.Add(2*time.Hour)) assert.ErrorIs(t, err, model.ErrNotFound, "expired sessions are not returned") require.NoError(t, s.DeleteSession(ctx, "s1")) _, err = s.GetSession(ctx, "s1", now) assert.ErrorIs(t, err, model.ErrNotFound) }