mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-13 08:52:02 +00:00
test(proxy): cover hashed keys and aliases when deleting a key warmed on a peer
This commit is contained in:
parent
9ad81ffa8e
commit
6bdf36c194
1 changed files with 8 additions and 3 deletions
|
|
@ -171,7 +171,8 @@ def test_deleting_a_key_revokes_it(gateway: Gateway, spelling: str) -> None:
|
|||
assert deleted_rows == (_DeletedKeyRow(token=key_hash),)
|
||||
|
||||
|
||||
def test_deleting_a_key_revokes_it_on_a_warmed_peer(gateway: Gateway, peer: Gateway) -> None:
|
||||
@pytest.mark.parametrize("spelling", ("keys", "hashed_keys", "key_aliases"))
|
||||
def test_deleting_a_key_revokes_it_on_a_warmed_peer(gateway: Gateway, peer: Gateway, spelling: str) -> None:
|
||||
backend: Final = "integration-keys-auth-delete"
|
||||
prompts: Final = (
|
||||
"delete warm primary " + uuid.uuid4().hex,
|
||||
|
|
@ -204,9 +205,13 @@ def test_deleting_a_key_revokes_it_on_a_warmed_peer(gateway: Gateway, peer: Gate
|
|||
)
|
||||
assert len(warm_responses) == 2
|
||||
assert tuple((request.method, request.target) for request in wire.drain()) == (_EXPECTED_CHAT,) * 2
|
||||
deleted: Final = gateway.request("POST", "/key/delete", {"keys": [key]})
|
||||
identifier: Final = {"keys": key, "hashed_keys": sha256(key.encode()).hexdigest(), "key_aliases": alias}[
|
||||
spelling
|
||||
]
|
||||
delete_body: Final = {"key_aliases" if spelling == "key_aliases" else "keys": [identifier]}
|
||||
deleted: Final = gateway.request("POST", "/key/delete", delete_body)
|
||||
assert deleted.status_code == 200, deleted.text
|
||||
assert _DeleteResponse.model_validate_json(deleted.content).deleted_keys == (key,), deleted.text
|
||||
assert _DeleteResponse.model_validate_json(deleted.content).deleted_keys == (identifier,), deleted.text
|
||||
peer_refusal: Final = eventually(
|
||||
lambda: _chat(peer, model, key, prompts[2]),
|
||||
lambda response: response.status_code == 401,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue