Newman's Personal Motorcade

    serverless-offline-http-mock

    1.0.0 • Public • Published

    serverless-offline-http-mock

    Travis CI Build Status

    Overview

    This is a plugin for the serverless framework that provides the ability to create mock responses to HTTP(S) requests. This is useful when developing integration against an API spec that doesn't yet exist. This plugin uses nock to provide mock responses. It supports mock requests for:

    Requirements

    An existing serverless framework project.

    Installation

    npm install serverless-offline-http-mock
    

    OR

    yarn add serverless-offline-http-mock
    

    Upgrade to v1.0.0

    Please note that if you installed a version of this prior to v1.0.0, you will need to follow step #2 below and add a truthy serverless-offline-http-mock-enabled value in order for your mocks to be loaded.

    Usage

    1. Within the serverless.yml file, enable the plugin by placing an serverless-offline-http-mock entry in the plugins section. If using Serverless Offline, make sure it is placed above the serverless-offline plugin

    2. Create a serverless-offline-http-mock-enabled entry in the custom section with a truthy (true, 1, etc) or falsy value (false, 0, etc). You can also use environment variables (for example, ${env:MOCK_ENABLED}).

    3. Create a serverless-offline-http-mock entry in the custom section.

    4. For each host, create an entry containing hostname, a list of JS files to load, and an optional directory. See serverless.yml example below.

    5. In each JS file, export a function that accepts the nock library and hostname as arguments. Within that function, implement nock to handle the HTTP(S) requests. See example.js example below.

    Example

    serverless.yml:

    ...
    custom:
      serverless-offline-http-mock-enabled: 1
      serverless-offline-http-mock:
        - hostname: http://www.example.com
          directory: 'mocks' # Optional
          mocks:
            - example.js
    
    plugins:
      - serverless-offline-http-mock # Note how this comes before serverless-offline
      - serverless-offline

    mocks/example.js:

    const mocks = (nock, hostname) =>
      nock(hostname)
        .persist()
        .get('/')
        .reply(200, 'success!');
    module.exports = mocks;

    Development

    yarn test
    

    Install

    npm i serverless-offline-http-mock

    DownloadsWeekly Downloads

    778

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    5.9 kB

    Total Files

    4

    Last publish

    Collaborators

    • pianomansam