tuan231195 / jest-aws-sdk-mock

MIT License
5 stars 1 forks source link

using jest-aws-sdk-mock with Typescript #2

Open s1mrankaur opened 3 years ago

s1mrankaur commented 3 years ago
InternalServerError: Missing region in config

  36 |     await lambda.invoke(params, function (err: AWS.AWSError, data: AWS.Lambda.InvocationResponse) {
  37 |       if (err) {
> 38 |         throw new createError.InternalServerError(err.message);
     |               ^
  39 |       }
  40 |       else {
  41 |         const response: any = data.Payload;

We need to use

import * as AWS from 'aws-sdk'

instead of

import AWS from 'aws-sdk' in our Typescript code to keep other things working.

With import * as AWS from 'aws-sdk',

We are getting an error that says


    InternalServerError: Missing region in config

      36 |     await lambda.invoke(params, function (err: AWS.AWSError, data: AWS.Lambda.InvocationResponse) {
      37 |       if (err) {
    > 38 |         throw new createError.InternalServerError(err.message);
         |               ^
      39 |       }
      40 |       else {
      41 |         const response: any = data.Payload;

      at Response.<anonymous> (src/lib/tenant-functions.ts:38:15)
      at Request.<anonymous> (../../node_modules/aws-sdk/lib/request.js:369:18)
      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:688: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:690: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:688: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:690: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 ../../node_modules/aws-sdk/lib/event_listeners.js:86:9
      at finish (../../node_modules/aws-sdk/lib/config.js:386:7)
      at ../../node_modules/aws-sdk/lib/config.js:428:9
      at Object.<anonymous> (../../node_modules/aws-sdk/lib/credentials/credential_provider_chain.js:111:13)
      at Object.arrayEach (../../node_modules/aws-sdk/lib/util.js:521:32)
      at resolveNext (../../node_modules/aws-sdk/lib/credentials/credential_provider_chain.js:110:20)
      at ../../node_modules/aws-sdk/lib/credentials/credential_provider_chain.js:126:13
      at ../../node_modules/aws-sdk/lib/credentials.js:124:23
      at ../../node_modules/aws-sdk/lib/credentials.js:212:15

  ● tenant-functions library tests › should find that the Tenant exits

    expect(received).resolves.toBe()

    Received promise rejected instead of resolved
    Rejected to value: [InternalServerError: ConfigError: Missing region in config]

How can this be resolved?

tuan231195 commented 3 years ago

Hello @s1mrankaur , do you have an example repo so that I can have a look into the issues?