fix(rust): align native route quality gates

This commit is contained in:
Yujong Lee 2026-09-04 16:24:58 -07:00
parent 515f2e549e
commit 15534ba9b0
4 changed files with 23 additions and 12 deletions

View file

@ -32,7 +32,7 @@ class NativeBinding(Generic[BindingT]):
self._override: BindingT | None | _Unset = _UNSET
@classmethod
def callable(cls, route: str, attribute: str) -> NativeBinding[BindingT]:
def native(cls, route: str, attribute: str) -> NativeBinding[BindingT]:
return cls(
route,
attribute,

View file

@ -75,7 +75,7 @@ class EndpointBinding(Generic[BindingT]):
) -> EndpointBinding[BindingT]:
binding: NativeBinding[BindingT] = cast( # cast-ok: classmethod loses the caller's generic parameter
NativeBinding[BindingT],
NativeBinding.callable(route, attribute),
NativeBinding.native(route, attribute),
)
return EndpointBinding(
route=route,

View file

@ -136,6 +136,11 @@ ROUTE_CASES: Final = (
"messages": [{"role": "user", "content": "hello-from-chat"}],
"optional_params": {"max_tokens": 17},
"api_key": "sk-native",
"request_context": {
"metadata": None,
"litellm_metadata": None,
"request_metadata_fields": [],
},
},
assert_request=assert_chat_completions_request,
success_value=lambda response: response["choices"][0]["message"]["content"],

View file

@ -21,7 +21,7 @@ def test_binding_loads_only_valid_native_attributes(
expected: int | None,
) -> None:
monkeypatch.setattr(bindings, "get_native_bridge", lambda: native)
monkeypatch.setattr(bindings, "native_route_ready", lambda _route: native is not None)
monkeypatch.setattr(bindings, "native_route_ready", lambda _route, _capabilities: native is not None)
binding: Final = bindings.NativeBinding(
"test", "route", validate=lambda value: value if isinstance(value, int) else None
)
@ -39,18 +39,22 @@ def test_binding_loads_only_valid_native_attributes(
)
def test_callable_binding_rejects_non_callables(monkeypatch: pytest.MonkeyPatch, value: object) -> None:
monkeypatch.setattr(bindings, "get_native_bridge", lambda: SimpleNamespace(route=value))
monkeypatch.setattr(bindings, "native_route_ready", lambda _route: True)
binding: Final[bindings.NativeBinding[object]] = bindings.NativeBinding.callable("test", "route")
monkeypatch.setattr(bindings, "native_route_ready", lambda _route, _capabilities: True)
binding: Final[bindings.NativeBinding[object]] = bindings.NativeBinding.native("test", "route")
assert binding.load() is None
def test_callable_binding_resolves_override_and_reset(monkeypatch: pytest.MonkeyPatch) -> None:
native_route: Final = lambda: "native"
replacement: Final = lambda: "replacement"
def native_route() -> str:
return "native"
def replacement() -> str:
return "replacement"
monkeypatch.setattr(bindings, "get_native_bridge", lambda: SimpleNamespace(route=native_route))
monkeypatch.setattr(bindings, "native_route_ready", lambda _route: True)
binding: Final[bindings.NativeBinding[object]] = bindings.NativeBinding.callable("test", "route")
monkeypatch.setattr(bindings, "native_route_ready", lambda _route, _capabilities: True)
binding: Final[bindings.NativeBinding[object]] = bindings.NativeBinding.native("test", "route")
assert binding.load() is native_route
binding.override(None)
@ -62,10 +66,12 @@ def test_callable_binding_resolves_override_and_reset(monkeypatch: pytest.Monkey
def test_unregistered_callable_cannot_activate_dispatch(monkeypatch: pytest.MonkeyPatch) -> None:
native_route: Final = lambda: "native"
def native_route() -> str:
return "native"
monkeypatch.setattr(bindings, "get_native_bridge", lambda: SimpleNamespace(route=native_route))
monkeypatch.setattr(bindings, "native_route_ready", lambda _route: False)
binding: Final[bindings.NativeBinding[object]] = bindings.NativeBinding.callable("test", "route")
monkeypatch.setattr(bindings, "native_route_ready", lambda _route, _capabilities: False)
binding: Final[bindings.NativeBinding[object]] = bindings.NativeBinding.native("test", "route")
assert binding.load() is None