#StackBounty: #javascript #node.js #amazon-web-services #aws-sdk-mock Mock Javascript AWS.RDS.Signer

Bounty: 200

I have Connection class that is used to connect to AWS Rds Proxy via IAM Authentication. Part of that process is to create a token. I have a function to create the token but now I having a hard time to mock and test it.

Here is the Connection class with setToken method:

class Connection {
    constructor(username, endpoint, database) {
        this.username = username;
        this.endpoint = endpoint;
        this.database = database;

    setToken () {
        let signer = new AWS.RDS.Signer({
            region: 'us-east-1', // example: us-east-2
            hostname: this.endpoint,
            port: 3306,
            username: this.username

        this.token = signer.getAuthToken({
            username: this.username

And here I am trying to mock the return value of AWS.RDS.Signer.getAuthToken()

test('Test Connection setToken', async () => {
    AWSMock.mock('RDS.Signer', 'getAuthToken', 'mock-token');

    let conn = new connections.Connection(



I expected to see "mock-token" as the value for conn.token, but what I get is this:

  promise: [Function],
  createReadStream: [Function: createReadStream],
  on: [Function: on],
  send: [Function: send]

How can I get AWS.RDS.Signer.getAuthToken() to return a mock token?

Get this bounty!!!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.