(t *testing.T)
| 1002 | } |
| 1003 | |
| 1004 | func TestResolveSessionID_SQLite(t *testing.T) { |
| 1005 | t.Parallel() |
| 1006 | |
| 1007 | tempDB := filepath.Join(t.TempDir(), "test_resolve.db") |
| 1008 | |
| 1009 | store, err := NewSQLiteSessionStore(t.Context(), tempDB) |
| 1010 | require.NoError(t, err) |
| 1011 | defer store.(*SQLiteSessionStore).Close() |
| 1012 | |
| 1013 | // Create sessions with known timestamps |
| 1014 | baseTime := time.Now() |
| 1015 | sessions := []struct { |
| 1016 | id string |
| 1017 | createdAt time.Time |
| 1018 | }{ |
| 1019 | {"oldest", baseTime.Add(-3 * time.Hour)}, |
| 1020 | {"middle", baseTime.Add(-2 * time.Hour)}, |
| 1021 | {"newest", baseTime.Add(-1 * time.Hour)}, |
| 1022 | } |
| 1023 | |
| 1024 | for _, s := range sessions { |
| 1025 | err := store.AddSession(t.Context(), &Session{ |
| 1026 | ID: s.id, |
| 1027 | CreatedAt: s.createdAt, |
| 1028 | }) |
| 1029 | require.NoError(t, err) |
| 1030 | } |
| 1031 | |
| 1032 | t.Run("resolves -1 to newest session", func(t *testing.T) { |
| 1033 | id, err := ResolveSessionID(t.Context(), store, "-1") |
| 1034 | require.NoError(t, err) |
| 1035 | assert.Equal(t, "newest", id) |
| 1036 | }) |
| 1037 | |
| 1038 | t.Run("resolves -2 to middle session", func(t *testing.T) { |
| 1039 | id, err := ResolveSessionID(t.Context(), store, "-2") |
| 1040 | require.NoError(t, err) |
| 1041 | assert.Equal(t, "middle", id) |
| 1042 | }) |
| 1043 | |
| 1044 | t.Run("resolves -3 to oldest session", func(t *testing.T) { |
| 1045 | id, err := ResolveSessionID(t.Context(), store, "-3") |
| 1046 | require.NoError(t, err) |
| 1047 | assert.Equal(t, "oldest", id) |
| 1048 | }) |
| 1049 | |
| 1050 | t.Run("returns error for out of range offset", func(t *testing.T) { |
| 1051 | _, err := ResolveSessionID(t.Context(), store, "-4") |
| 1052 | require.Error(t, err) |
| 1053 | assert.Contains(t, err.Error(), "out of range") |
| 1054 | }) |
| 1055 | |
| 1056 | t.Run("returns non-relative ID unchanged", func(t *testing.T) { |
| 1057 | id, err := ResolveSessionID(t.Context(), store, "some-uuid") |
| 1058 | require.NoError(t, err) |
| 1059 | assert.Equal(t, "some-uuid", id) |
| 1060 | }) |
| 1061 | } |
nothing calls this directly
no test coverage detected