0.0.1 • Published 6 years ago

proxyquire-stub-lambda-class v0.0.1

Weekly downloads
4
License
ISC
Repository
github
Last release
6 years ago

proxyquire-stub-lambda-class

stub lambda aws class to proxyquire

Support

methodsupportspecification
invoketruenot return AWS.Request instance, only can be called with cb or promise property

Usage

const proxyquire = require('proxyquire')
const stubToLambda =  require('proxyquire-stub-lambda-class')

const paramsToExpect = {
     FunctionName:'FunctionName',
     Qualifier:'$LATEST',
     InvocationType:'RequestResponse',
     Payload: 'string',
     LogType: 'Tail'
}

const PayloadToReturn = {}

const options = {
    error: 'error to return'
    FunctionError: 'FunctionError',
    LogResult: 'base64 string',
    StatusCode : 'http code status'
}
const moduleUsingLambdaAWSClass = proxyquire('path/to/module',{
    'aws-sdk':{
        Lambda: stubToLambda(paramsToExpect, PayloadToReturn, options)
        // you can extend the class to your class
        }

moduleUsingLambdaAWSClass //any call to lambda is mocked

// Class example

lambda = new StubToLambda(paramsToExpect, PayloadToReturn, options)

lambda.invoke(params, (err, data)=>{/***callback***/}) // or
lambda.invoke(params).promise() // return a promise
// if params is not equal to paramsToExpect throw a error
})

stubToLambda(paramsToExpect, PayloadToReturn, options)-> Lambda Class

options = {
    error,
    FunctionError,
    LogResult,
    StatusCode
}