MCPcopy Create free account
hub / github.com/Emmimal/control-layer / TestFallbackRouter

Class TestFallbackRouter

tests/test_control_layer.py:338–365  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

336# =============================================================================
337
338class TestFallbackRouter:
339
340 def test_registered_fallback_called(self):
341 router = FallbackRouter()
342 router.register("default", lambda q: "fallback response")
343 name, response = router.route("query", FailureMode.SCHEMA_VIOLATION)
344 assert name == "default"
345 assert response == "fallback response"
346
347 def test_first_non_empty_wins(self):
348 router = FallbackRouter()
349 router.register("empty", lambda q: "")
350 router.register("second", lambda q: "second response")
351 name, response = router.route("q", FailureMode.SCHEMA_VIOLATION)
352 assert name == "second"
353
354 def test_no_fallback_returns_none(self):
355 router = FallbackRouter()
356 name, response = router.route("q", FailureMode.SCHEMA_VIOLATION)
357 assert name == "none"
358 assert response == ""
359
360 def test_error_in_fallback_skipped(self):
361 router = FallbackRouter()
362 router.register("broken", lambda q: (_ for _ in ()).throw(ValueError("bad")))
363 router.register("good", lambda q: "good response")
364 name, response = router.route("q", FailureMode.SCHEMA_VIOLATION)
365 assert name == "good"
366
367
368# =============================================================================

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected