| 402 | } |
| 403 | |
| 404 | func TestStatsCollector_Close(t *testing.T) { |
| 405 | t.Parallel() |
| 406 | |
| 407 | reporter := &fakeReporter{} |
| 408 | collector := workspaceapps.NewStatsCollector(workspaceapps.StatsCollectorOptions{ |
| 409 | Reporter: reporter, |
| 410 | ReportInterval: time.Hour, |
| 411 | RollupWindow: time.Minute, |
| 412 | }) |
| 413 | |
| 414 | collector.Collect(workspaceapps.StatsReport{ |
| 415 | SessionID: uuid.New(), |
| 416 | SessionStartedAt: dbtime.Now(), |
| 417 | SessionEndedAt: dbtime.Now(), |
| 418 | Requests: 1, |
| 419 | }) |
| 420 | |
| 421 | collector.Close() |
| 422 | |
| 423 | // Verify that stats are reported after close. |
| 424 | assert.NotEmpty(t, reporter.stats()) |
| 425 | } |