| 222 | } |
| 223 | |
| 224 | func TestRunnerCleanup(t *testing.T) { |
| 225 | t.Parallel() |
| 226 | |
| 227 | chatID := uuid.MustParse("22222222-2222-2222-2222-222222222222") |
| 228 | |
| 229 | t.Run("ArchivesChat", func(t *testing.T) { |
| 230 | t.Parallel() |
| 231 | |
| 232 | runner, archived := newTestRunnerWithChatArchive(t, chatID, nil) |
| 233 | |
| 234 | logs := bytes.NewBuffer(nil) |
| 235 | err := runner.Cleanup(context.Background(), "runner-1", logs) |
| 236 | require.NoError(t, err) |
| 237 | require.True(t, archived()) |
| 238 | require.Contains(t, logs.String(), "archived chat") |
| 239 | }) |
| 240 | |
| 241 | t.Run("ArchiveErrorIsReturned", func(t *testing.T) { |
| 242 | t.Parallel() |
| 243 | |
| 244 | runner, archived := newTestRunnerWithChatArchive(t, chatID, xerrors.New("boom")) |
| 245 | |
| 246 | err := runner.Cleanup(context.Background(), "runner-1", bytes.NewBuffer(nil)) |
| 247 | require.Error(t, err) |
| 248 | require.ErrorContains(t, err, "archive chat") |
| 249 | require.True(t, archived()) |
| 250 | }) |
| 251 | } |
| 252 | |
| 253 | func testLogger() slog.Logger { |
| 254 | return slog.Make(sloghuman.Sink(io.Discard)).Leveled(slog.LevelDebug) |