diff --git a/localstack/services/events/provider_v2.py b/localstack/services/events/provider_v2.py index 4f8e00f6f94630..506b4d51d8fda3 100644 --- a/localstack/services/events/provider_v2.py +++ b/localstack/services/events/provider_v2.py @@ -46,6 +46,7 @@ TargetId, TargetIdList, TargetList, + TestEventPatternResponse, ) from localstack.aws.api.events import EventBus as ApiTypeEventBus from localstack.aws.api.events import Rule as ApiTypeRule @@ -341,6 +342,19 @@ def put_rule( response = PutRuleResponse(RuleArn=rule_service.arn) return response + @handler("TestEventPattern") + def test_event_pattern( + self, context: RequestContext, event_pattern: EventPattern, event: str, **kwargs + ) -> TestEventPatternResponse: + """Test event pattern uses EventBridge event pattern matching: + https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html + """ + event_pattern_dict = json.loads(event_pattern) + event_dict = json.loads(event) + result = matches_event(event_pattern_dict, event_dict) + + return TestEventPatternResponse(Result=result) + ######### # Targets #########