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: SNS, API Gateway, S3, & Scheduled.
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
constcreateEvent=require('aws-event-mocks');
constmocked=createEvent({
template:'aws:sns',
merge:{
Records:[{
Sns:{
Message:'trigger-email'
}
}]
}
});
API Gateway
constcreateEvent=require('aws-event-mocks');
constevent=createEvent({
template:'aws:apiGateway',
merge:{
body:{
first_name:'Sam',
last_name:'Smith'
}
}
});
S3
constcreateEvent=require('aws-event-mocks');
constevent=createEvent({
template:'aws:s3',
merge:{
Records:[{
eventName:'ObjectCreated:Put',
s3:{
bucket:{
name:'my-bucket-name'
},
object:{
key:'object-key'
}
}
}]
}
});
Scheduled
constcreateEvent=require('aws-event-mocks');
constevent=createEvent({
template:'aws:scheduled',
merge:{
region:'us-west-2'
}
});
Kinesis
constcreateEvent=require('aws-event-mocks');
constevent=createEvent({
template:'aws:kinesis',
merge:{
data:newBuffer('this is test data').toString('base64')