jest-dynamodb
jest-dynamodb copied to clipboard
UnrecognizedClientException
Have been using @shelf/jest-dynamodb
for 2 yrs and just started getting this error in github actions (not locally)
UnrecognizedClientException: The Access Key ID or security token is invalid.
at Request.extractError (node_modules/aws-sdk/lib/protocol/json.js:52:27)
at Request.callListeners (node_modules/aws-sdk/lib/sequential_executor.js:106:20)
at Request.emit (node_modules/aws-sdk/lib/sequential_executor.js:78:10)
at Request.emit (node_modules/aws-sdk/lib/request.js:686:14)
at Request.transition (node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (node_modules/aws-sdk/lib/state_machine.js:14:12)
at node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (node_modules/aws-sdk/lib/request.js:688:12)
at Request.callListeners (node_modules/aws-sdk/lib/sequential_executor.js:116:18)
at Request.emit (node_modules/aws-sdk/lib/sequential_executor.js:78:10)
at Request.emit (node_modules/aws-sdk/lib/request.js:686:14)
at Request.transition (node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (node_modules/aws-sdk/lib/state_machine.js:14:12)
at node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (node_modules/aws-sdk/lib/request.js:688:12)
at Request.callListeners (node_modules/aws-sdk/lib/sequential_executor.js:116:18)
at callNextListener (node_modules/aws-sdk/lib/sequential_executor.js:96:12)
at IncomingMessage.onEnd (node_modules/aws-sdk/lib/event_listeners.js:335:13)
package.json
...
"@shelf/jest-dynamodb": "3.4.1",
"aws-sdk": "2.1046.0",
...
test/file.test.ts
const localClient = new AWS.DynamoDB({
credentials: {
accessKeyId: 'fake-access-key',
secretAccessKey: 'fake-secret-access-key',
},
endpoint,
region: 'local',
sslEnabled: false,
});
...
src/file.ts
...
dynamo
.putItem(<AWS.DynamoDB.PutItemInput>{
...(!overwrite && { ConditionExpression: 'attribute_not_exists(PK)' }), // if overwrite is true, the ConditionExpression is omitted
Item: item,
TableName: tableName,
})
.promise();
...
github actions:
jobs:
publish-artifact:
permissions:
issues: write
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
with:
token: ${{ secrets.ACTIONS_TOKEN }}
persist-credentials: false
- uses: actions/setup-node@v3
with:
node-version: 16
...