Skip to content

Commit 53421f2

Browse files
authored
fix(codewhisperer): Correctly stub API call in CodeWhisperer unit tests (#2741)
* There are unusual API calls in CodeWhisperer unit tests. These API calls should be stubbed.
1 parent cf78407 commit 53421f2

File tree

2 files changed

+23
-13
lines changed

2 files changed

+23
-13
lines changed

src/test/codewhisperer/service/keyStrokeHandler.test.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ describe('keyStrokeHandler', function () {
3434
sinon.spy(RecommendationHandler.instance, 'getRecommendations')
3535
mockClient = new codewhispererSdkClient.DefaultCodeWhispererClient()
3636
resetCodeWhispererGlobalVariables()
37+
sinon.stub(mockClient, 'listRecommendations')
38+
sinon.stub(mockClient, 'generateRecommendations')
3739
})
3840
afterEach(function () {
3941
sinon.restore()
@@ -189,6 +191,8 @@ describe('keyStrokeHandler', function () {
189191
sinon.restore()
190192
mockClient = new codewhispererSdkClient.DefaultCodeWhispererClient()
191193
resetCodeWhispererGlobalVariables()
194+
sinon.stub(mockClient, 'listRecommendations')
195+
sinon.stub(mockClient, 'generateRecommendations')
192196
})
193197
afterEach(function () {
194198
sinon.restore()

src/test/codewhisperer/service/recommendationHandler.test.ts

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
* Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
33
* SPDX-License-Identifier: Apache-2.0
44
*/
5+
56
import * as assert from 'assert'
67
import * as vscode from 'vscode'
78
import * as sinon from 'sinon'
@@ -34,6 +35,8 @@ describe('recommendationHandler', function () {
3435
sinon.restore()
3536
resetCodeWhispererGlobalVariables()
3637
sinon.stub(mockClient, 'listRecommendations')
38+
sinon.stub(mockClient, 'generateRecommendations')
39+
RecommendationHandler.instance.clearRecommendations()
3740
})
3841

3942
afterEach(function () {
@@ -52,17 +55,16 @@ describe('recommendationHandler', function () {
5255
},
5356
},
5457
}
55-
const recommendationHandler = new RecommendationHandler()
56-
sinon.stub(recommendationHandler, 'getServerResponse').resolves(mockServerResult)
57-
await recommendationHandler.getRecommendations(
58+
sinon.stub(RecommendationHandler.instance, 'getServerResponse').resolves(mockServerResult)
59+
await RecommendationHandler.instance.getRecommendations(
5860
mockClient,
5961
mockEditor,
6062
'AutoTrigger',
6163
config,
6264
'Enter',
6365
false
6466
)
65-
const actual = recommendationHandler.recommendations
67+
const actual = RecommendationHandler.instance.recommendations
6668
const expected: RecommendationsList = [{ content: "print('Hello World!')" }]
6769
assert.deepStrictEqual(actual, expected)
6870
})
@@ -79,18 +81,17 @@ describe('recommendationHandler', function () {
7981
},
8082
},
8183
}
82-
const recommendationHandler = new RecommendationHandler()
83-
sinon.stub(recommendationHandler, 'getServerResponse').resolves(mockServerResult)
84-
await recommendationHandler.getRecommendations(
84+
sinon.stub(RecommendationHandler.instance, 'getServerResponse').resolves(mockServerResult)
85+
await RecommendationHandler.instance.getRecommendations(
8586
mockClient,
8687
mockEditor,
8788
'AutoTrigger',
8889
config,
8990
'Enter',
9091
false
9192
)
92-
assert.strictEqual(recommendationHandler.requestId, 'test_request')
93-
assert.strictEqual(recommendationHandler.sessionId, 'test_request')
93+
assert.strictEqual(RecommendationHandler.instance.requestId, 'test_request')
94+
assert.strictEqual(RecommendationHandler.instance.sessionId, 'test_request')
9495
assert.strictEqual(TelemetryHelper.instance.triggerType, 'AutoTrigger')
9596
})
9697

@@ -106,12 +107,17 @@ describe('recommendationHandler', function () {
106107
},
107108
},
108109
}
109-
const recommendationHandler = new RecommendationHandler()
110-
sinon.stub(recommendationHandler, 'getServerResponse').resolves(mockServerResult)
110+
sinon.stub(RecommendationHandler.instance, 'getServerResponse').resolves(mockServerResult)
111111
sinon.stub(performance, 'now').returns(0.0)
112-
recommendationHandler.startPos = new vscode.Position(1, 0)
112+
RecommendationHandler.instance.startPos = new vscode.Position(1, 0)
113113
TelemetryHelper.instance.cursorOffset = 2
114-
await recommendationHandler.getRecommendations(mockClient, mockEditor, 'AutoTrigger', config, 'Enter')
114+
await RecommendationHandler.instance.getRecommendations(
115+
mockClient,
116+
mockEditor,
117+
'AutoTrigger',
118+
config,
119+
'Enter'
120+
)
115121
const assertTelemetry = assertTelemetryCurried('codewhisperer_serviceInvocation')
116122
assertTelemetry({
117123
codewhispererRequestId: 'test_request',

0 commit comments

Comments
 (0)