From 75715fc203bae86ffe536689345c63f2174fb158 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 28 Oct 2026 17:31:41 +0100 Subject: [PATCH] connector-spend: pin that a result that is not transported is charged the reservation Co-Authored-By: Claude Opus 5.5 --- crates/model-connector/src/service.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/crates/model-connector/src/service.rs b/crates/model-connector/src/service.rs index 07f8e5e..2aa969e 100644 --- a/crates/model-connector/src/service.rs +++ b/crates/model-connector/src/service.rs @@ -3449,4 +3449,16 @@ mod tests { assert_eq!(service.window_spend(CALLER, 0), reservation()); drop(two); } + + #[test] + fn a_result_that_is_not_transported_is_charged_the_reservation() { + let store = TestStore::new(); + let mut service = open_service(&store, 4); + let claim = claim_at(&mut service, "request-1", 1_000); + let invocation = invocation_at("request-1", 1_000, MAX_COST); + let refused = TransportResult::refused(&invocation, Refusal::Capacity); + service.complete(*claim, refused, FRAME).unwrap(); + assert_eq!(charged_of(&service, "request-1"), reservation()); + assert_eq!(service.window_spend(CALLER, 0), reservation()); + } }