🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more

py-event-mocks

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

py-event-mocks

A small library that includes details mocks of AWS Lambda event sources, Python implementation.

0.0.4
Maintainers
1

py-event-mocks

Python implementation of serverless / event-mocks

A small library that includes details mocks of AWS Lambda event sources, same with original event-mocks. 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
  • AWS Batch

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.

Set up

pip install py-event-mocks

Usage

from py_event_mocks import create_event

event = create_event("aws:s3")

# event would be
#   {
#     "Records": [
#       {
#         "eventVersion": "2.0",
#         "eventSource": "aws:s3",
#         "awsRegion": "us-east-1",
#     ...
#   }

Allowed event_type (first parameter) is as follows:

  • "aws:alexa-skill-event"
  • "aws:alexa-smart-home-event"
  • "aws:api-gateway-event"
  • "aws:cloud-watch-event"
  • "aws:cloud-watch-log-event"
  • "aws:cognito-user-pool-event"
  • "aws:dynamo-stream-event"
  • "aws:kinesis"
  • "aws:s3"
  • "aws:scheduled"
  • "aws:sns"
  • "aws:sqs"

You can overwrite default template with "body" parameter.

event = create_event(
    event_type="aws:s3",
    body={
      "Records": [{
        "eventName": "ObjectCreated:Put",
        "s3": {
          "bucket": {
            "name": "my-bucket-name"
          },
          "object": {
            "key": "object-key"
          }
        }
      }]
    }
)

FAQs

Did you know?

Socket

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