fix: preserve sell event routing owner
This commit is contained in:
@@ -101,6 +101,31 @@ class TestPublishRetryOnHalfOpen:
|
||||
|
||||
assert reconnect_called["yes"], "_force_reconnect must be called on first failure"
|
||||
|
||||
def test_sell_retry_reuses_identical_payload_and_mandatory_flag(self):
|
||||
t = _make_transport()
|
||||
_inject_connected(t)
|
||||
payload = {
|
||||
"slot_id": "slot-95",
|
||||
"event_type": "slot_filled_sell",
|
||||
"sequence_at": 11,
|
||||
}
|
||||
routing_key = "slot_filled_sell.SELL-B.005930"
|
||||
|
||||
with (
|
||||
patch.object(
|
||||
t,
|
||||
"_do_basic_publish",
|
||||
side_effect=[OSError("first attempt"), None],
|
||||
) as publish,
|
||||
patch.object(t, "_force_reconnect"),
|
||||
):
|
||||
t.publish_event(routing_key, payload)
|
||||
|
||||
assert publish.call_count == 2
|
||||
assert publish.call_args_list[0] == publish.call_args_list[1]
|
||||
assert publish.call_args_list[0].args[0] == routing_key
|
||||
assert publish.call_args_list[0].kwargs["mandatory"] is True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# REQ-091 AC-2: retry also fails → TransportUnavailableError raised
|
||||
|
||||
Reference in New Issue
Block a user