(t *testing.T)
| 11 | ) |
| 12 | |
| 13 | func TestServiceCopiesRecordedEvents(t *testing.T) { |
| 14 | t.Cleanup(stubDeviceID("test-device")) |
| 15 | |
| 16 | // Given a recorded event |
| 17 | var payload SendTelemetryPayload |
| 18 | service := NewService(func(p SendTelemetryPayload) { payload = p }) |
| 19 | event := ghtelemetry.Event{ |
| 20 | Type: "command_invocation", |
| 21 | Dimensions: ghtelemetry.Dimensions{"command": "gh issue create"}, |
| 22 | Measures: ghtelemetry.Measures{"count": 1}, |
| 23 | } |
| 24 | service.Record(event) |
| 25 | |
| 26 | // When the original maps are mutated before delivery |
| 27 | event.Dimensions["command"] = "changed" |
| 28 | event.Measures["count"] = 2 |
| 29 | service.Finish() |
| 30 | |
| 31 | // Then the recorded values are unchanged |
| 32 | require.Len(t, payload.Events, 1) |
| 33 | assert.Equal(t, "gh issue create", payload.Events[0].Dimensions["command"]) |
| 34 | assert.Equal(t, int64(1), payload.Events[0].Measures["count"]) |
| 35 | } |
| 36 | |
| 37 | func TestServicePromotesAllEventsBeforeCompletion(t *testing.T) { |
| 38 | t.Cleanup(stubDeviceID("test-device")) |
nothing calls this directly
no test coverage detected