Socket
Socket
Sign inDemoInstall

@serverless/event-mocks

Package Overview
Dependencies
2
Maintainers
6
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

@serverless/event-mocks

Event Mocks is a simple library designed to generate simple AWS events for testing and automation purposes.


Version published
Maintainers
6
Weekly downloads
939,697
increased by1%
Install size
2.20 MB

Weekly downloads

Readme

Source

Event Mocks

A small library that includes details mocks of AWS Lambda event sources. Useful for use when unit testing your Lambda functions. Supported Event Sources are:

  • API Gateway
  • SNS
  • SQS
  • DynamoDB
  • S3
  • Scheduled
  • Websocket
  • Alexa Skill
  • Alexa Smart Home
  • CloudWatch
  • CloudWatch Log
  • Cognito Pool
  • IoT

The library simply uses default event source mock templates and merge it with any overwrite you provide. Check out the JSON template files to learn more about the data structure of each event source.

Usage

SNS

import createEvent from "@serverless/event-mocks"

const mocked = createEvent(
  "aws:sns",
  {
    Records: [{
      Sns: {
        Message: "trigger-email"
      }
    }]
  });

API Gateway

import createEvent from "@serverless/event-mocks"

const event = createEvent(
  "aws:apiGateway",
  {
    body: {
      first_name: "Sam",
      last_name: "Smith"
    }
  });

S3

import createEvent from "@serverless/event-mocks"

const event = createEvent(
  "aws:s3",
  {
    Records: [{
      eventName: "ObjectCreated:Put",
      s3: {
        bucket: {
          name: "my-bucket-name"
        },
        object: {
          key: "object-key"
        }
      }
    }]
  });

Scheduled

import createEvent from "@serverless/event-mocks"

const event = createEvent(
  "aws:scheduled",
  {
    region: "us-west-2"
  });

Kinesis

import createEvent from "@serverless/event-mocks"

const event = createEvent(
  "aws:kinesis",
  {
    data: new Buffer("this is test data").toString("base64")
  });

Dynamo

import createEvent from "@serverless/event-mocks"

const event = createEvent(
  "aws:dynamo",
  {
    Records: [
      {
      eventID: "1",
      eventVersion: "1.0",
      dynamodb: {
        Keys: {
          Id: {
            N: "101"
          }
        },
        NewImage: {
          Message: {
            S: "New item!"
          },
          Id: {
            N: "101"
          }
        },
        StreamViewType: "NEW_AND_OLD_IMAGES",
        SequenceNumber: "111",
        SizeBytes: 26
      },
      awsRegion: "us-west-2",
      eventName: "INSERT",
      eventSourceARN: "arn:aws:dynamodb:us-east-1:123456789012:table/images",
      eventSource: "aws:dynamodb"
      }
    ]
  });

Websocket event

  const event = createEvent("aws:websocket", {
    body: {
      first_name: "Sam",
      last_name: "Smith",
    },
    requestContext: {
      connectedAt: 123,
      connectionId: "abc123",
    },
  });

CloudWatch event

  const event = createEvent("aws:cloudWatch", {
    "detail-type": "Something has been deleted.",
    "region": "us-east-1"
  });

CloudWatchLog event

  const event = createEvent("aws:cloudWatchLog", {
    awslogs: {
      data: "Some gzipped, then base64 encoded data",
    }
  });

Alexa Skill event

  const event = createEvent("aws:alexaSkill", {
    request: {
      type: "CanFulfillIntentRequest",
    },
    context: {
      System: {
        device: {
          deviceId: "myDevice",
        },
      },
    },
  }

Alexa SmartHome event

  const event = createEvent("aws:alexaSmartHome", {
    payload: {
      switchControlAction: "TURN_OFF",
    },
  }

IoT event

  const event = createEvent("aws:iot", {
    this: {
      can: {
        be: "anything I want",
      },
    }

Cognito Pool Event

  const event = createEvent("aws:cognitoUserPool", {
    userName: "Aaron Stuyvenberg",
  }

FAQs

Last updated on 19 Apr 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc