mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-11 03:38:38 +00:00
test(spend): key-scoped guardrail block evidence without call-id header
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
parent
208c66ffe1
commit
290b552b11
1 changed files with 5 additions and 5 deletions
|
|
@ -982,21 +982,21 @@ def test_guardrail_mode_tag_decider_is_unchanged_on_pass_through(gateway: Gatewa
|
|||
)
|
||||
assert control.status_code != 200, control.text
|
||||
assert len(wire.drain()) == 0, "tag-matched guardrail should have blocked before the upstream"
|
||||
call_id: Final = control.headers["x-litellm-call-id"]
|
||||
digest: Final = sha256(key.encode()).hexdigest()
|
||||
|
||||
def blocked_rows() -> list[dict]:
|
||||
return read_rows(
|
||||
'SELECT metadata FROM "LiteLLM_SpendLogs" WHERE litellm_call_id=%s',
|
||||
(call_id,),
|
||||
'SELECT metadata, litellm_call_id FROM "LiteLLM_SpendLogs" WHERE api_key=%s',
|
||||
(digest,),
|
||||
)
|
||||
|
||||
spend_row: Final = eventually(
|
||||
blocked_rows,
|
||||
lambda rows: len(rows) == 1 and "bananablock" in json.dumps(rows[0]["metadata"]),
|
||||
lambda rows: any("bananablock" in json.dumps(row["metadata"]) for row in rows),
|
||||
seconds=30,
|
||||
return_last_on_timeout=True,
|
||||
)
|
||||
if not (len(spend_row) == 1 and "bananablock" in json.dumps(spend_row[0]["metadata"])):
|
||||
if not any("bananablock" in json.dumps(row["metadata"]) for row in spend_row):
|
||||
log_text: Final = owned.log.read_text()
|
||||
assert "Content blocked: keyword 'bananablock' detected" in log_text, (
|
||||
"guardrail block text not in spend row or proxy log"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue