litellm/tests/test_litellm/proxy/common_utils
Yujong Lee 9b747bf337 feat(caching): give RedisCache a pub/sub and lease surface and drop raw client reaches
Add async_publish and async_subscribe to the Python RedisCache, returning a
RedisSubscription that yields RedisMessage values and skips redis-py's
subscribe acks, plus connection_pool_status for the debug endpoint. Cluster
clients raise NotImplementedError, matching the existing skip behaviour.

Move the config sync and auth cache invalidation modules onto that surface
and rewrite the MCP refresh lock onto async_register_script, so no proxy code
reaches into init_async_client or redis_client any more. This defines the
surface a native RedisCache has to match.

On the Rust side add the PubSubCache and MessageStream capability traits and
implement them in cache-redis with a dedicated subscription connection driven
by a reader thread, tested against an in-process RESP server over a real
socket.
2026-09-24 09:19:14 -07:00
..
html_forms test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_admin_ui_utils.py docs: stop advertising sk-1234 as the master key in shipped configs and examples 2026-09-19 12:59:48 -07:00
test_auth_cache_invalidation_pubsub.py feat(caching): give RedisCache a pub/sub and lease surface and drop raw client reaches 2026-09-24 09:19:14 -07:00
test_cache_codec.py fix(proxy): stop CacheCodec dropping null fields on cache round-trip (#32207) 2026-07-06 12:53:00 -07:00
test_callback_config_validation.py feat(arize): per-team success and error sampling rates for the Arize AX callback (#42383) 2026-09-22 11:21:40 -05:00
test_callback_utils.py feat(guardrails): map each guardrail scan id to its guardrail, stage and provider (#40327) 2026-09-08 23:32:31 -07:00
test_config_sync_pubsub.py feat(caching): give RedisCache a pub/sub and lease surface and drop raw client reaches 2026-09-24 09:19:14 -07:00
test_custom_openapi_spec.py fix(proxy): document request body and response schemas for the Responses API in OpenAPI (#42802) 2026-09-24 01:28:34 +00:00
test_debug_utils.py feat(caching): give RedisCache a pub/sub and lease surface and drop raw client reaches 2026-09-24 09:19:14 -07:00
test_discoverable_model_filter.py feat(proxy): honor model_info.discoverable on the model listing endpoints (#42825) 2026-09-23 17:51:16 -07:00
test_encrypt_decrypt_utils.py fix(proxy): never treat plaintext that base64-decodes to nothing as a ciphertext during the master key migration 2026-09-19 17:53:17 -07:00
test_error_body_call_id.py feat(proxy): opt-in litellm_call_id in JSON error bodies (#42391) 2026-09-21 19:17:18 -07:00
test_expired_ui_session_key_cleanup_manager.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_get_routes.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_http_parsing_utils.py fix(claude_code_gateway): scope the protobuf body skip to the OTLP routes and match the metrics middleware on the route path 2026-09-18 17:23:59 -07:00
test_json_merge_patch.py fix(team): bound json merge patch recursion depth 2026-07-11 09:36:15 -07:00
test_key_rotation_e2e.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_key_rotation_integration.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_key_rotation_lock.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_key_rotation_manager.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_load_config_utils.py fix(proxy): make an ambiguous config include loud, not silent 2026-09-06 03:35:07 -07:00
test_model_deprecation.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_model_listing_utils.py fix(proxy): list key and team model aliases in GET /v1/models (#42908) 2026-09-24 06:41:13 -07:00
test_openai_endpoint_utils.py fix(vector-stores): recurse into nested litellm_params; handle JSON-string shape 2026-04-29 18:56:40 +00:00
test_openai_error_payload.py test: drop the docstring that restated the payload test's name 2026-09-18 22:48:42 -07:00
test_path_utils.py test: require a match= on broad pytest.raises, and drop duplicate parametrize cases (#37769) 2026-08-20 20:24:49 -07:00
test_periodic_reload_schedule.py fix(proxy): persist periodic reload schedule state so status survives restarts and fires without store_model_in_db (#35165) 2026-08-04 15:42:57 -07:00
test_prompt_cache_pricing.py test: delete assertions that pin vendor cost map facts 2026-09-18 00:28:49 +00:00
test_rbac_utils.py test: run the 30 test files stranded in the second mirror (#37595) 2026-08-20 10:59:43 -07:00
test_registry_read_through.py test(proxy): isolate the agent read-through singleton between unknown-agent tests 2026-09-22 01:34:31 +00:00
test_reset_budget_job.py Merge remote-tracking branch 'origin/main' into litellm_lit_3269_project_spend_tracking 2026-09-17 22:29:16 +00:00
test_scheduled_job_stagger.py Merge remote-tracking branch 'origin/litellm_internal_staging' into litellm_deflake_20260905 2026-09-09 09:17:41 +00:00
test_sse_keepalive.py fix(passthrough): recognize CR-only SSE frame delimiters when minting streamed managed ids 2026-08-26 01:36:18 -07:00
test_static_asset_utils.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_swagger_utils.py fix(proxy): make the lazy OpenAPI snapshot byte-identical on every Python version (#42519) 2026-09-22 12:21:20 -07:00
test_timezone_utils.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_upsert_budget_membership.py test(proxy): assert the persisted member budget row as a whole instead of field absence 2026-09-18 02:12:12 +00:00
test_user_api_key_cache.py fix(proxy): apply user_api_key_cache_max_size to the key object partition (#42796) 2026-09-23 17:25:01 -05:00