mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-12 03:48:56 +00:00
* test: move 76 live top-level tests to offline unit and integration coverage * test: keep the mock-param opt-in guard valid once the top-level senders are gone * test: address review on offline replacements * docs(test): drop the deleted harness test file from the harness check command * test: make the key rebind, team member delete and routes integration tests exercise the legacy paths * test: make fallback, rpm and spend integration contracts deterministic and clean up their rows, assert the rpm limit in usage-based routing * test: expect the no-deployments error at the rpm limit and cover the strategy check without pre-call checks * test: hand member cleanups to the scenario instead of growing a budget list, flatten callback kinds * test: scope the admin health check to the test's own deployment --------- Co-authored-by: yuneng <yuneng@berri.ai>
47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
import os
|
|
# What this tests?
|
|
## Tests /spend endpoints.
|
|
|
|
import pytest
|
|
import aiohttp
|
|
|
|
|
|
async def get_predict_spend_logs(session):
|
|
url = "http://0.0.0.0:4000/global/predict/spend/logs"
|
|
headers = {"Authorization": f"Bearer {os.environ['LITELLM_MASTER_KEY']}", "Content-Type": "application/json"}
|
|
data = {
|
|
"data": [
|
|
{
|
|
"date": "2024-03-09",
|
|
"spend": 200000,
|
|
"api_key": "sk-test-mock-api-key-456",
|
|
}
|
|
]
|
|
}
|
|
|
|
async with session.post(url, headers=headers, json=data) as response:
|
|
status = response.status
|
|
response_text = await response.text()
|
|
|
|
print(response_text)
|
|
print()
|
|
|
|
if status != 200:
|
|
raise Exception(f"Request did not return a 200 status code: {status}")
|
|
return await response.json()
|
|
|
|
|
|
@pytest.mark.skip(reason="datetime in ci/cd gets set weirdly")
|
|
@pytest.mark.asyncio
|
|
async def test_get_predicted_spend_logs():
|
|
"""
|
|
- Create key
|
|
- Make call (makes sure it's in spend logs)
|
|
- Get request id from logs
|
|
"""
|
|
async with aiohttp.ClientSession() as session:
|
|
result = await get_predict_spend_logs(session=session)
|
|
print(result)
|
|
|
|
assert "response" in result
|
|
assert len(result["response"]) > 0
|