(t *testing.T)
| 1108 | } |
| 1109 | |
| 1110 | func TestResolveSessionID_InMemory(t *testing.T) { |
| 1111 | t.Parallel() |
| 1112 | |
| 1113 | store := NewInMemorySessionStore() |
| 1114 | |
| 1115 | // Create sessions with known timestamps |
| 1116 | baseTime := time.Now() |
| 1117 | sessions := []struct { |
| 1118 | id string |
| 1119 | createdAt time.Time |
| 1120 | }{ |
| 1121 | {"oldest", baseTime.Add(-3 * time.Hour)}, |
| 1122 | {"middle", baseTime.Add(-2 * time.Hour)}, |
| 1123 | {"newest", baseTime.Add(-1 * time.Hour)}, |
| 1124 | } |
| 1125 | |
| 1126 | for _, s := range sessions { |
| 1127 | err := store.AddSession(t.Context(), &Session{ |
| 1128 | ID: s.id, |
| 1129 | CreatedAt: s.createdAt, |
| 1130 | }) |
| 1131 | require.NoError(t, err) |
| 1132 | } |
| 1133 | |
| 1134 | t.Run("resolves -1 to newest session", func(t *testing.T) { |
| 1135 | id, err := ResolveSessionID(t.Context(), store, "-1") |
| 1136 | require.NoError(t, err) |
| 1137 | assert.Equal(t, "newest", id) |
| 1138 | }) |
| 1139 | |
| 1140 | t.Run("resolves -2 to middle session", func(t *testing.T) { |
| 1141 | id, err := ResolveSessionID(t.Context(), store, "-2") |
| 1142 | require.NoError(t, err) |
| 1143 | assert.Equal(t, "middle", id) |
| 1144 | }) |
| 1145 | |
| 1146 | t.Run("returns error for out of range offset", func(t *testing.T) { |
| 1147 | _, err := ResolveSessionID(t.Context(), store, "-4") |
| 1148 | require.Error(t, err) |
| 1149 | assert.Contains(t, err.Error(), "out of range") |
| 1150 | }) |
| 1151 | |
| 1152 | t.Run("returns non-relative ID unchanged", func(t *testing.T) { |
| 1153 | id, err := ResolveSessionID(t.Context(), store, "some-uuid") |
| 1154 | require.NoError(t, err) |
| 1155 | assert.Equal(t, "some-uuid", id) |
| 1156 | }) |
| 1157 | } |
nothing calls this directly
no test coverage detected