Skip to content

Latest commit

 

History

History

docs

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Build Status npm version

lambda-event-mock

Mocking library for testing AWS Lambda events by creating realistic events that contain dynamic data.

Features

  • Easy to use builder-pattern to create mock lambda events for testing
  • Works with lambda-tester
  • Works with Node 8.x

Installation

Install via npm.

npm install lambda-event-mock --save-dev

Getting Started

The following example code creates an s3 lambda event for the object picture1.gif in the my-bucket-uploaded-pictures bucket.

const lambdaEventMock = require( 'lambda-event-mock' );

let myMock = lambdaEventMock.s3()
				.object( 'picture1.gif' )
				.bucket( 'my-bucket-uploaded-pictures' )
				.build();

// myMock contains an s3 event object:
/*
{
  "Records": [
    {
      "eventVersion": "2.0",
      "eventTime": "2018-11-15T20:46:39.446Z",
      "requestParameters": {
        "sourceIPAddress": "127.0.0.1"
      },
      "s3": {
        "configurationId": "testConfigRule",
        "object": {
          "eTag": "0123456789abcdef0123456789abcdef",
          "sequencer": "0A1B2C3D4E5F678901",
          "key": "picture1.gif",
          "size": 1024
        },
        "bucket": {
          "arn": "bucketarn",
          "name": "my-bucket-uploaded-pictures",
          "ownerIdentity": {
            "principalId": "USER"
          }
        },
        "s3SchemaVersion": "1.0"
      },
      "responseElements": {
        "x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH",
        "x-amz-request-id": "EXAMPLE123456789"
      },
      "awsRegion": "us-east-1",
      "eventName": "ObjectCreated:Put",
      "userIdentity": {
        "principalId": "USER"
      },
      "eventSource": "aws:s3"
    }
  ]
}
*/

Note that lambda-event-mock fills in the time, date, and other properties of the event to create a realistic looking event.

Event Types

Note: Documentation is incomplete

lambda-event-mock supports the following lambda events:

Feedback

We'd love to get feedback on how to make this tool better. Feel free to contact us at [email protected]

License

BSD-3-Clause