GWed
GWed

Reputation: 15673

Test that an AWS EventBridge (or CloudWatch) Event Was Fired

I'm running some integration tests on a microservice I built in AWS. One of the tests is to assert that the service triggers an AWS EventBridge event, as downstream services will need to subscribe to this event.

My question is, how do I test this in the context of my mircroservice?

I need to just assert that the event was fired in AWS. I was hoping the AWS SDK would allow some way of asserting this e.g. being able to subscribe to an event on some long polling type operation, but haven't been able to find anything.

NOTE: Not looking for test double spy answers please. The level of testing I'm doing requires confirming that an actual event has been fired in AWS EventBridge

Upvotes: 6

Views: 11443

Answers (2)

photowalker
photowalker

Reputation: 373

You can check the CloudWatch metrics for your rule such as TriggeredRules, Invocations, and FailedInvocations for debugging. Check the logging and monitoring in Amazon EventBridge here

If the rule is triggered by an event from an AWS service you can also use the TestEventPattern action to Test the event pattern of our rule with a test event to make sure the event pattern of your rule is correctly set. For more info on how to use the TestEventPattern se TestEventPattern docs

Upvotes: 3

Radu Diță
Radu Diță

Reputation: 14211

You can create a rule for your specific event and target an SQS.

You can then read from the SQS (using long polling) and assert the event has fired.

Upvotes: 9

Related Questions