litellm
1# What this tests ?
2## Tests /organization endpoints.
3import pytest4import asyncio5import aiohttp6import time, uuid7from openai import AsyncOpenAI8
9
10async def new_organization(session, i, organization_alias, max_budget=None):11url = "http://0.0.0.0:4000/organization/new"12headers = {"Authorization": "Bearer sk-1234", "Content-Type": "application/json"}13data = {14"organization_alias": organization_alias,15"models": ["azure-models"],16"max_budget": max_budget,17}18
19async with session.post(url, headers=headers, json=data) as response:20status = response.status21response_text = await response.text()22
23print(f"Response {i} (Status code: {status}):")24print(response_text)25print()26
27if status != 200:28raise Exception(f"Request {i} did not return a 200 status code: {status}")29
30return await response.json()31
32
33@pytest.mark.asyncio34async def test_organization_new():35"""36Make 20 parallel calls to /user/new. Assert all worked.
37"""
38organization_alias = f"Organization: {uuid.uuid4()}"39async with aiohttp.ClientSession() as session:40tasks = [41new_organization(42session=session, i=0, organization_alias=organization_alias43)44for i in range(1, 20)45]46await asyncio.gather(*tasks)47