Serverless Http Invoker

homepage icon https://github.com/activescott/serverless-http-invoker
Follow @activescott

Tracked

NPM Downloads Last Month
60
Issues
1
Stars
10
Forks
5
Watchers
10
Watch Star Fork Issue Download License NPM Build Status Coverage Status Contributors

Repo README Contents:

npm version license Build Status JavaScript Style Guide

serverless-http-invoker

Locally invoke Serverless functions via their HTTP event as specified in Serverless.yml.

It makes it easy to test not only your handler logic, but also ensures that you have your http events setup properly in serverless.yml without deploying.

Usage

Use it in tests of Serverless functions to test your HTTP endpoints along with the handler code. For example, you can write the following to test a Serverless function:

it('should invoke simple path', function () {
  let response = invoker.invoke('GET api/hello')  
  return expect(response).to.eventually.have.property('statusCode', 200)
})

The test above is a test of a Serverless function defined in Serverless.yml as follows:

functions:
  hello:
    handler: handler.hello
    events:
      - http:
          path: api/hello
          method: get

Many more examples and exaustive list of what is supported in the tests. Some additional real-world examples are demonstrated in the sheetmonkey-server project. See PluginsHandler.js and PluginAuthHandler.js among others.

Installation

npm (npm install serverless-http-invoker --save-dev) or yarn (yarn add serverless-http-invoker --dev)