Skip to content

Commit 85aa11c

Browse files
committed
test: Use aws-sdk-client-mock
Since `aws-sdk-mock` is for v2, use `aws-sdk-client-mock` for v3.
1 parent ca9224b commit 85aa11c

File tree

4 files changed

+81
-6
lines changed

4 files changed

+81
-6
lines changed

package-lock.json

+53
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
"proxy-agent": "^6.2.0"
4949
},
5050
"devDependencies": {
51+
"aws-sdk-client-mock": "^4.1.0",
5152
"aws-sdk-mock": "^6.0.4",
5253
"chai": "^5.0.0",
5354
"mocha": "^10.1.0",

test/main.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@ let assert
1111
import('chai').then(chai => {
1212
assert = chai.assert
1313
})
14-
const sinon = require('sinon')
1514

1615
const awsMock = require('aws-sdk-mock')
1716
awsMock.setSDK(path.resolve('node_modules/aws-sdk'))
1817

1918
// Migrating to v3.
20-
const { LambdaClient } = require('@aws-sdk/client-lambda')
19+
const { mockClient } = require('aws-sdk-client-mock')
20+
const { LambdaClient, CreateFunctionCommand } = require('@aws-sdk/client-lambda')
21+
const mockLambdaClient = mockClient(LambdaClient)
2122
const lambdaClient = new LambdaClient({ region: 'us-east-1' })
2223

2324
const originalProgram = {
@@ -163,12 +164,11 @@ describe('lib/main', function () {
163164
execFileSync('npm', ['ci'], { cwd: sourceDirectoryForTest })
164165

165166
// for sdk v3
166-
const stub = sinon.stub(lambdaClient, 'send')
167-
stub.returns(lambdaMockSettings.createFunction)
167+
mockLambdaClient.reset()
168+
mockLambdaClient.on(CreateFunctionCommand).resolves(lambdaMockSettings.createFunction)
168169
})
169170
after(() => {
170171
_awsRestore()
171-
sinon.restore() // for sdk v3
172172
})
173173

174174
beforeEach(() => {

yarn.lock

+22-1
Original file line numberDiff line numberDiff line change
@@ -1103,6 +1103,18 @@
11031103
resolved "https://registry.npmjs.org/@types/node/-/node-17.0.18.tgz"
11041104
integrity sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA==
11051105

1106+
"@types/sinon@^17.0.3":
1107+
version "17.0.3"
1108+
resolved "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz"
1109+
integrity sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==
1110+
dependencies:
1111+
"@types/sinonjs__fake-timers" "*"
1112+
1113+
"@types/sinonjs__fake-timers@*":
1114+
version "8.1.5"
1115+
resolved "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz"
1116+
integrity sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==
1117+
11061118
abort-controller@^3.0.0:
11071119
version "3.0.0"
11081120
resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz"
@@ -1324,6 +1336,15 @@ available-typed-arrays@^1.0.7:
13241336
dependencies:
13251337
possible-typed-array-names "^1.0.0"
13261338

1339+
aws-sdk-client-mock@^4.1.0:
1340+
version "4.1.0"
1341+
resolved "https://registry.npmjs.org/aws-sdk-client-mock/-/aws-sdk-client-mock-4.1.0.tgz"
1342+
integrity sha512-h/tOYTkXEsAcV3//6C1/7U4ifSpKyJvb6auveAepqqNJl6TdZaPFEtKjBQNf8UxQdDP850knB2i/whq4zlsxJw==
1343+
dependencies:
1344+
"@types/sinon" "^17.0.3"
1345+
sinon "^18.0.1"
1346+
tslib "^2.1.0"
1347+
13271348
aws-sdk-mock@^6.0.4:
13281349
version "6.2.0"
13291350
resolved "https://registry.npmjs.org/aws-sdk-mock/-/aws-sdk-mock-6.2.0.tgz"
@@ -3950,7 +3971,7 @@ tsconfig-paths@^3.14.1:
39503971
minimist "^1.2.6"
39513972
strip-bom "^3.0.0"
39523973

3953-
tslib@^2.0.1, tslib@^2.5.0, tslib@^2.6.2:
3974+
tslib@^2.0.1, tslib@^2.1.0, tslib@^2.5.0, tslib@^2.6.2:
39543975
version "2.6.2"
39553976
resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz"
39563977
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==

0 commit comments

Comments
 (0)