From c13b3f94a65dadffec64d6c2ceed2945c231f3e4 Mon Sep 17 00:00:00 2001 From: Fent Jani <37303771+bpstr@users.noreply.github.com> Date: Wed, 16 Sep 2026 00:04:35 +0200 Subject: [PATCH] Add string-event competency fixture --- tests/fixtures/competency/string-event-binding/SCENARIO.md | 5 +++++ tests/fixtures/competency/string-event-binding/consumer.py | 3 +++ tests/fixtures/competency/string-event-binding/producer.py | 2 ++ 3 files changed, 10 insertions(+) create mode 100644 tests/fixtures/competency/string-event-binding/SCENARIO.md create mode 100644 tests/fixtures/competency/string-event-binding/consumer.py create mode 100644 tests/fixtures/competency/string-event-binding/producer.py diff --git a/tests/fixtures/competency/string-event-binding/SCENARIO.md b/tests/fixtures/competency/string-event-binding/SCENARIO.md new file mode 100644 index 0000000..f5eab91 --- /dev/null +++ b/tests/fixtures/competency/string-event-binding/SCENARIO.md @@ -0,0 +1,5 @@ +# Producer and consumer joined by a string key + +Question: What consumes the event emitted when an order completes? + +Expected: connect producer and consumer through the exact `order.completed` key; do not connect the unrelated refund subscription. Missing consumers must remain explicit gaps. diff --git a/tests/fixtures/competency/string-event-binding/consumer.py b/tests/fixtures/competency/string-event-binding/consumer.py new file mode 100644 index 0000000..844e155 --- /dev/null +++ b/tests/fixtures/competency/string-event-binding/consumer.py @@ -0,0 +1,3 @@ +def register(bus, send_receipt): + bus.subscribe('order.completed', send_receipt) + bus.subscribe('order.refunded', lambda event: None) diff --git a/tests/fixtures/competency/string-event-binding/producer.py b/tests/fixtures/competency/string-event-binding/producer.py new file mode 100644 index 0000000..231aa7f --- /dev/null +++ b/tests/fixtures/competency/string-event-binding/producer.py @@ -0,0 +1,2 @@ +def complete_order(bus, order_id): + bus.publish('order.completed', {'id': order_id})