A small library that includes details mocks of AWS Lambda event sources, Python implementation.
Project description
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"
}
}
}]
}
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file py-event-mocks-0.0.4.tar.gz
.
File metadata
- Download URL: py-event-mocks-0.0.4.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba5f977780761b200fa7c8d94fe424b38120f2c4c11a7a4c8120f8946195b85d |
|
MD5 | d6b3cab2500fb94962b67602e605c059 |
|
BLAKE2b-256 | 07780ad76024b82625b8c61d162dd727e60ae40ad5d058a5618324ebbe8bae8e |