Skip to content

Commit 576bd95

Browse files
authored
fix(codewhisperer): clear telemetry logger to avoid flaky test case #2945
Problem: In some situation telemetry test case in CodeWhisperer may fail. The assertTelemetry compares a deep equal of the first telemetry record it gets from the queries. Solution: Clean the telemetry records before each telemetry test case.
1 parent 44b6c8d commit 576bd95

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

src/test/codewhisperer/commands/basicCommands.test.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ describe('CodeWhisperer-basicCommands', function () {
5353
})
5454

5555
describe('toggleCodeSuggestion', function () {
56+
beforeEach(function () {
57+
resetCodeWhispererGlobalVariables()
58+
})
59+
5660
it('should emit aws_modifySetting event on user toggling autoSuggestion - deactivate', async function () {
5761
const fakeMemeto = new FakeMemento()
5862
targetCommand = testCommand(toggleCodeSuggestions, fakeMemeto)

src/test/codewhisperer/testUtil.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@ import { vsCodeState, AcceptedSuggestionEntry } from '../../codewhisperer/models
1010
import { MockDocument } from '../fake/fakeDocument'
1111
import { getLogger } from '../../shared/logger'
1212
import { CodeWhispererCodeCoverageTracker } from '../../codewhisperer/tracker/codewhispererCodeCoverageTracker'
13+
import globals from '../../shared/extensionGlobals'
1314

1415
export function resetCodeWhispererGlobalVariables() {
1516
vsCodeState.isIntelliSenseActive = false
1617
vsCodeState.isCodeWhispererEditing = false
1718
CodeWhispererCodeCoverageTracker.instances.clear()
19+
globals.telemetry.logger.clear()
1820
}
1921

2022
export function createMockDocument(

src/test/codewhisperer/util/telemetryHelper.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ describe('telemetryHelper', function () {
5555
})
5656

5757
describe('recordUserDecisionTelemetry', function () {
58+
beforeEach(function () {
59+
resetCodeWhispererGlobalVariables()
60+
})
5861
it('Should call telemetry record for each recommendations with proper arguments', async function () {
5962
const telemetryHelper = new TelemetryHelper()
6063
const response = [{ content: "print('Hello')" }]

0 commit comments

Comments
 (0)