Event Mocks is a simple library designed to generate simple AWS events for testing and automation purposes.
npm install @serverless/event-mocksThe 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.
``js
import createEvent from "@serverless/event-mocks"
const mocked = createEvent(
"aws:sns",
{
Records: [{
Sns: {
Message: "trigger-email"
}
}]
});
`
`js
import createEvent from "@serverless/event-mocks"
const event = createEvent(
"aws:apiGateway",
{
body: {
first_name: "Sam",
last_name: "Smith"
}
});
`
`js
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"
}
}
}]
});
`
`js
import createEvent from "@serverless/event-mocks"
const event = createEvent(
"aws:scheduled",
{
region: "us-west-2"
});
`
`js
import createEvent from "@serverless/event-mocks"
const event = createEvent(
"aws:kinesis",
{
data: new Buffer("this is test data").toString("base64")
});
`
`js
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"
}
]
});
`
`js`
const event = createEvent("aws:websocket", {
body: {
first_name: "Sam",
last_name: "Smith",
},
requestContext: {
connectedAt: 123,
connectionId: "abc123",
},
});$3
`js`
const event = createEvent("aws:cloudWatch", {
"detail-type": "Something has been deleted.",
"region": "us-east-1"
});
`js`
const event = createEvent("aws:cloudWatchLog", {
awslogs: {
data: "Some gzipped, then base64 encoded data",
}
});
`js`
const event = createEvent("aws:alexaSkill", {
request: {
type: "CanFulfillIntentRequest",
},
context: {
System: {
device: {
deviceId: "myDevice",
},
},
},
}
js
const event = createEvent("aws:alexaSmartHome", {
payload: {
switchControlAction: "TURN_OFF",
},
}
`$3
`js
const event = createEvent("aws:iot", {
this: {
can: {
be: "anything I want",
},
}
`$3
`js
const event = createEvent("aws:cognitoUserPool", {
userName: "Aaron Stuyvenberg",
}
``