commit 727136c656b6bce3ff9f9dcb9af8a04155ff3641
parent e043094862b8315f21f07013e1ec3c380b486463
Author: triesap <tyson@radroots.org>
Date: Thu, 9 Apr 2026 01:16:08 +0000
tests: fixture-back query rewrite contract coverage
- drive the main query_rewrite success case from the mirrored scenario json
- move strict unexpected-field coverage onto the mirrored invalid-request scenario
- add process-level stdio coverage for the fixture-backed query_rewrite success path
- keep the smaller query alias and dual-input edge cases inline in mojo
Diffstat:
2 files changed, 26 insertions(+), 30 deletions(-)
diff --git a/tests/test_hyf.mojo b/tests/test_hyf.mojo
@@ -366,22 +366,13 @@ def test_backend_selector_reports_assisted_unavailable() raises:
def test_query_rewrite_returns_deterministic_output() raises:
var result = _dispatch(
- '{"version":1,"request_id":"rewrite-1","trace_id":"trace-rewrite-1","capability":"query_rewrite","input":{"text":"eggs near me with weekend pickup"}}'
- )
-
- assert_equal(Int(result["version"].int_value()), 1)
- assert_equal(result["trace_id"].string_value(), "trace-rewrite-1")
- assert_equal(result["ok"].bool_value(), True)
- assert_equal(
- result["output"]["rewritten_text"].string_value(),
- "eggs",
+ load_scenario_request_json(
+ "scenarios/query_rewrite_local_pickup_weekend.json"
+ )
)
- assert_equal(
- result["output"]["extracted_filters"]["fulfillment"].string_value(),
- "pickup",
+ assert_matches_scenario_response(
+ result, "scenarios/query_rewrite_local_pickup_weekend.json"
)
- assert_equal(result["meta"]["backend"].string_value(), "heuristic")
- assert_true(not _has_key(result["meta"], "latency_ms"))
def test_query_rewrite_accepts_query_alias_with_same_behavior() raises:
@@ -403,16 +394,12 @@ def test_query_rewrite_accepts_query_alias_with_same_behavior() raises:
def test_query_rewrite_rejects_unknown_input_field() raises:
var result = _dispatch(
- '{"version":1,"request_id":"rewrite-bad-field-1","capability":"query_rewrite","input":{"text":"eggs near me","tone":"brief"}}'
+ load_scenario_request_json(
+ "scenarios/query_rewrite_unexpected_field.json"
+ )
)
-
- assert_equal(Int(result["version"].int_value()), 1)
- assert_equal(result["ok"].bool_value(), False)
- assert_equal(result["request_id"].string_value(), "rewrite-bad-field-1")
- assert_equal(result["error"]["code"].string_value(), "invalid_request")
- assert_true(
- result["error"]["message"].string_value().find("unexpected field")
- >= 0
+ assert_matches_scenario_response(
+ result, "scenarios/query_rewrite_unexpected_field.json"
)
diff --git a/tests/test_stdio_contract.mojo b/tests/test_stdio_contract.mojo
@@ -74,6 +74,17 @@ def test_deferred_capability_returns_disabled_error() raises:
)
+def test_query_rewrite_success() raises:
+ var response = run_hyf_stdio(
+ load_scenario_request_json(
+ "scenarios/query_rewrite_local_pickup_weekend.json"
+ )
+ )
+ assert_matches_scenario_response(
+ response, "scenarios/query_rewrite_local_pickup_weekend.json"
+ )
+
+
def test_semantic_rank_exports_heuristic_score_without_latency() raises:
var response = run_hyf_stdio(
'{"version":1,"request_id":"rank-proc-1","capability":"semantic_rank","input":{"query":"eggs near me with weekend pickup","candidates":[{"id":"lst_7ak2","title":"Pasture eggs","farm":"La Huerta del Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2},{"id":"lst_8k1p","title":"Free range eggs","farm":"Santa Elena","delivery":"delivery","distance_km":8.7,"freshness_minutes":18}]}}'
@@ -90,14 +101,12 @@ def test_semantic_rank_exports_heuristic_score_without_latency() raises:
def test_strict_query_rewrite_failure() raises:
var response = run_hyf_stdio(
- '{"version":1,"request_id":"rewrite-bad-proc-1","capability":"query_rewrite","input":{"text":"eggs near me","tone":"brief"}}'
+ load_scenario_request_json(
+ "scenarios/query_rewrite_unexpected_field.json"
+ )
)
-
- assert_true(not response["ok"].bool_value())
- assert_equal(response["error"]["code"].string_value(), "invalid_request")
- assert_true(
- response["error"]["message"].string_value().find("unexpected field")
- >= 0
+ assert_matches_scenario_response(
+ response, "scenarios/query_rewrite_unexpected_field.json"
)