diff --git a/lambda-events/src/event/eventbridge/mod.rs b/lambda-events/src/event/eventbridge/mod.rs index 49743e0a..990a853d 100644 --- a/lambda-events/src/event/eventbridge/mod.rs +++ b/lambda-events/src/event/eventbridge/mod.rs @@ -58,4 +58,17 @@ mod test { let reparsed: EventBridgeEvent = serde_json::from_slice(output.as_bytes()).unwrap(); assert_eq!(parsed, reparsed); } + + #[test] + fn example_eventbridge_schedule_event() { + let data = include_bytes!("../../fixtures/example-eventbridge-schedule.json"); + let parsed: EventBridgeEvent = serde_json::from_slice(data).unwrap(); + + assert_eq!("aws.events", parsed.source); + assert_eq!("Scheduled Event", parsed.detail_type); + + let output: String = serde_json::to_string(&parsed).unwrap(); + let reparsed: EventBridgeEvent = serde_json::from_slice(output.as_bytes()).unwrap(); + assert_eq!(parsed, reparsed); + } } diff --git a/lambda-events/src/fixtures/example-eventbridge-schedule.json b/lambda-events/src/fixtures/example-eventbridge-schedule.json new file mode 100644 index 00000000..602f83d2 --- /dev/null +++ b/lambda-events/src/fixtures/example-eventbridge-schedule.json @@ -0,0 +1,13 @@ +{ + "version": "0", + "id": "53dc4d37-cffa-4f76-80c9-8b7d4a4d2eaa", + "detail-type": "Scheduled Event", + "source": "aws.events", + "account": "123456789012", + "time": "2015-10-08T16:53:06Z", + "region": "us-east-1", + "resources": [ + "arn:aws:events:us-east-1:123456789012:rule/my-scheduled-rule" + ], + "detail": {} +}