feat(master): store service inventory snapshots and web sessions
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
//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)
|
||||
}
|
||||
Reference in New Issue
Block a user