mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-19 00:01:29 +00:00
test(mcp): reuse the registered server snapshot for alias grants
This commit is contained in:
parent
5a105657c1
commit
326ba8c8a4
2 changed files with 9 additions and 8 deletions
|
|
@ -217,8 +217,8 @@ class McpClient:
|
|||
response_type=McpHealthResponse,
|
||||
)
|
||||
|
||||
def await_registered(self, server_id: str) -> None:
|
||||
"""Poll /v1/mcp/server until `server_id` is listed. Fails at poll_timeout.
|
||||
def await_registered(self, server_id: str) -> McpServerRow:
|
||||
"""Poll /v1/mcp/server and return the matching row. Fails at poll_timeout.
|
||||
|
||||
The DB row exists the moment registration returns, but a data-plane pod
|
||||
answers the listing from a registry it refreshes on a periodic DB sync, so a
|
||||
|
|
@ -227,14 +227,15 @@ class McpClient:
|
|||
"""
|
||||
deadline = time.monotonic() + self.proxy.poll_timeout
|
||||
while True:
|
||||
registered = frozenset(row.server_id for row in self.registered_servers())
|
||||
if server_id in registered:
|
||||
return
|
||||
registered = self.registered_servers()
|
||||
server = next((row for row in registered if row.server_id == server_id), None)
|
||||
if server is not None:
|
||||
return server
|
||||
if time.monotonic() >= deadline:
|
||||
raise AssertionError(
|
||||
f"registered server {server_id} still absent from /v1/mcp/server "
|
||||
f"{self.proxy.poll_timeout}s after registration (the data plane never synced "
|
||||
f"the row): {registered}"
|
||||
f"the row): {frozenset(row.server_id for row in registered)}"
|
||||
)
|
||||
time.sleep(self.proxy.poll_interval)
|
||||
|
||||
|
|
|
|||
|
|
@ -44,8 +44,8 @@ class TestMcpKeyGrantByAlias:
|
|||
grants access on every region. The same key must still see the server's
|
||||
tools, proving the alias grant is honored at request time."""
|
||||
server_id = register_datadog_mcp(client, resources)
|
||||
client.await_registered(server_id)
|
||||
alias = next(row.alias for row in client.registered_servers() if row.server_id == server_id)
|
||||
registered = client.await_registered(server_id)
|
||||
alias = registered.alias
|
||||
assert alias, f"registered server {server_id} has no alias to grant by"
|
||||
|
||||
key = _key(client, resources, mcp_servers=[alias])
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue