mirror of
https://github.com/tiennm99/litellm.git
synced 2026-06-28 21:10:37 +00:00
c569056ea8
* docs(deploy.md): move docker recommendation to `main-stable` * feat(enterprise/internal_user_endpoints.py): expose endpoint for checking available premium users * feat(usage_indictor.tsx): add new element to help track remaining premium users * feat(usage_indicator.tsx): show premium user remaining usage allows users with user caps to know how much is left * fix(vertex_and_google_ai_studio_gemini.py): bubble up stream is not finished, even if stop reason is given prevents early completion of stream Closes https://github.com/BerriAI/litellm/issues/11549 * fix(streaming_handler.py): respect is_finished = False in hidden params internal logic for preventing ending stream early * fix(litellm_license.py): add function to check if user is over limit * fix(internal_user_endpoints.py): add function to check if user is over limit * refactor: move test * docs(customer_endpoints.py): document new param
30 lines
960 B
Python
30 lines
960 B
Python
import asyncio
|
|
import json
|
|
import os
|
|
import sys
|
|
from unittest.mock import AsyncMock, MagicMock, patch
|
|
|
|
sys.path.insert(
|
|
0, os.path.abspath("../../..")
|
|
) # Adds the parent directory to the system path
|
|
|
|
from litellm.proxy.auth.litellm_license import LicenseCheck
|
|
|
|
|
|
def test_is_over_limit():
|
|
license_check = LicenseCheck()
|
|
license_check.airgapped_license_data = {"max_users": 100}
|
|
assert license_check.is_over_limit(101) is True
|
|
assert license_check.is_over_limit(100) is False
|
|
assert license_check.is_over_limit(99) is False
|
|
|
|
license_check.airgapped_license_data = {}
|
|
assert license_check.is_over_limit(101) is False
|
|
assert license_check.is_over_limit(100) is False
|
|
assert license_check.is_over_limit(99) is False
|
|
|
|
license_check.airgapped_license_data = None
|
|
assert license_check.is_over_limit(101) is False
|
|
assert license_check.is_over_limit(100) is False
|
|
assert license_check.is_over_limit(99) is False
|