litellm/tests/test_litellm/integrations
Ryan Crabbe 3d72e2a6f3
fix(guardrails): address PR #25575 review feedback + sync kill switch with opt-out list
Renames the new per-guardrail opt-out field from `disabled_global_guardrails`
to `opted_out_global_guardrails` to eliminate the one-character collision with
the legacy `disable_global_guardrails` boolean kill switch. Adds a type guard
on the new gate so a misnamed bool can't crash the guardrail check. Filters
duplicates out of the team-edit guardrail display for legacy teams that have a
global name persisted in `metadata.guardrails` from before this PR. Drops the
unused `isGuardrailsLoading` and `guardrailsError` destructures left in
AddModelForm after the hook refactor.

Adds Python tests for the new gate behavior (root, litellm_metadata, metadata,
non-matching name, empty list, malformed bool value, opt-in coexistence) and
extends useGuardrails.test.ts to exercise the global / optional partition
logic that the rebuilt hook performs in its `select` transform.

Wires the legacy kill switch and the new opt-out list together in the team
edit form so they can never fall out of sync:

- Toggling the kill switch reactively updates the Guardrails Select via
  `onValuesChange` — switch on strips all globals from the selection, switch
  off re-adds them. Existing opt-in extras are preserved either way.
- When the switch is on, global options in the Select are individually
  disabled (greyed out) so the user can still manage opt-in guardrails but
  cannot accidentally re-enable a global the kill switch is bypassing.
- The save handler writes both fields together: `disable_global_guardrails`
  reflects the switch, and `opted_out_global_guardrails` is set to either
  every global (when the switch is on) or the user's explicit opt-outs.
- `effectiveGuardrails` for the form's initialValues honors the kill switch
  on legacy teams so the form opens in a state that matches what the runtime
  gate is actually doing — fixes the visual lie where chips appeared active
  while the switch was bypassing them.

The backend gate already reads the list as the primary path with the bool
as a fallback, so untouched legacy teams keep working until they get edited,
at which point they migrate naturally.
2026-04-11 17:48:16 -07:00
..
arize fix(arize-phoenix): enable nested traces coexistence with otel callback 2026-02-26 04:59:17 -05:00
azure_storage Fixing circular reference for azure storage 2026-01-14 16:11:55 -08:00
bitbucket (Feat) Add BitBucket Integration for Prompt Management (#14882) 2025-09-25 15:51:00 -07:00
cloudzero fix: test 2026-01-09 11:23:47 +09:00
datadog Ishaan - March 18th changes (#24056) 2026-03-19 10:20:35 -07:00
dotprompt test_dotprompt_with_prompt_version 2025-11-22 11:00:47 -08:00
focus [Fix] Use cached async HTTP client in Vantage destination 2026-03-14 12:23:40 -07:00
gcs_bucket update GCSBucketBase to handle GSM project ID if passed (#11409) 2025-06-04 10:02:26 -07:00
gcs_pubsub Litellm fix GitHub action testing (#11163) 2025-05-26 14:41:42 -07:00
gitlab TestEncryptResponseId 2026-01-07 21:03:22 +05:30
langfuse fix: prevent sys.modules["langfuse"] import failures in langfuse unit tests 2026-02-18 08:22:23 -03:00
levo TestLevoIntegration 2026-01-07 18:17:22 +05:30
litellm_agent Agent Builder - support new experimental agent builder, to ensure agents pass compliance checks (#21817) 2026-02-21 15:32:47 -08:00
open_telemetry/data add metrics and logs (events) with semconv attributes 2025-09-02 09:20:25 -06:00
SlackAlerting feat: add optional digest mode for Slack alert types (#21683) 2026-02-21 15:19:17 -08:00
websearch_interception Litellm fix update bedrock models (#24947) 2026-04-01 19:22:54 -07:00
test_agentops.py Litellm fix GitHub action testing (#11163) 2025-05-26 14:41:42 -07:00
test_anthropic_cache_control_hook.py Merge branch 'main' into litellm_oss_staging_03_04_2026 2026-03-11 18:31:20 +05:30
test_athina.py Litellm fix GitHub action testing (#11163) 2025-05-26 14:41:42 -07:00
test_azure_sentinel.py [Feat] New Logging Integration - Azure Sentinel Logger (#18146) 2025-12-18 02:04:49 +05:30
test_braintrust_logging.py [Bug]: Fix tests to reference moved attributes in braintrust_logging module (#13978) 2025-08-26 18:58:16 -07:00
test_braintrust_span_name.py Add details in docs (#15721) 2025-10-21 16:57:51 -07:00
test_custom_guardrail.py fix(guardrails): address PR #25575 review feedback + sync kill switch with opt-out list 2026-04-11 17:48:16 -07:00
test_custom_guardrail_recursion.py fix: recursive pydantic issue (#19531) 2026-01-22 19:56:41 -08:00
test_custom_prompt_management.py [Fix] CI/CD - Fix failing proxy and core integration tests (#17926) 2025-12-13 10:11:01 -08:00
test_deepeval.py fix: use fastuuid helper (#14903) 2025-09-25 15:47:01 -07:00
test_langfuse.py Align Langfuse trace_id fallback with DB session_id for failed requests 2026-03-02 20:55:31 +05:30
test_langfuse_otel.py fix: prevent sys.modules["langfuse"] import failures in langfuse unit tests 2026-02-18 08:22:23 -03:00
test_langsmith_init.py Merge branch 'main' into litellm_oss_staging_03_17_2026 2026-03-20 08:42:41 +05:30
test_mlflow.py Fix: MLflow streaming spans for Anthropic passthrough (#17288) 2025-12-05 14:59:36 -08:00
test_openmeter.py [Bug]: Set user from token user_id for OpenMeter integration 2025-07-30 22:23:30 +02:00
test_opentelemetry.py Code review 2026-03-18 16:25:42 -05:00
test_opentelemetry_dynamic_imports.py Make grpc dependency optional (#19447) 2026-01-20 19:03:52 -08:00
test_prometheus_cache_metrics.py feat(prometheus): add caching metrics (#18755) 2026-01-07 21:29:04 +05:30
test_prometheus_client_ip_user_agent.py Litellm oss staging 04 02 2026 p1 (#25055) 2026-04-08 21:37:10 -07:00
test_prometheus_invalid_key_filtering.py refactor(prometheus): skip metrics for invalid API key requests (#18788) 2026-01-07 17:14:14 -08:00
test_prometheus_labels.py fix(prometheus): sanitize label values to prevent metric scrape failures (#20600) 2026-02-09 15:48:59 -08:00
test_prometheus_metric_name_consistency.py fix: align prometheus metric names with DEFINED_PROMETHEUS_METRICS (#18463) 2026-01-04 00:48:09 +05:30
test_prometheus_missing_metrics.py add callbacks and labels to prometheus (#19708) 2026-01-25 23:03:23 -08:00
test_prometheus_none_metadata.py fix: guard against None metadata in prometheus metrics (#21489) 2026-02-18 12:40:45 -08:00
test_prometheus_queue_guardrail_metrics.py feat: Add Prometheus metrics for request queue time and guardrails (#17973) 2026-01-06 23:50:11 +05:30
test_prometheus_services.py fix(proxy): resolve high CPU when router_settings in DB by avoiding REGISTRY.collect() in PrometheusServicesLogger (#20087) 2026-01-30 14:01:45 -08:00
test_prometheus_spend_logs_metadata.py test(prometheus): add tests for spend_logs_metadata in custom labels 2026-03-23 11:02:21 -07:00
test_prometheus_stream_label.py feat(prometheus): add opt-in stream label to litellm_proxy_total_requests_metric (#22023) 2026-02-24 11:51:42 -08:00
test_prometheus_user_team_metrics.py Litellm oss staging 04 02 2026 p1 (#25055) 2026-04-08 21:37:10 -07:00
test_responses_background_cost.py fix(test): update test_responses_background_cost assertions for pagination and stale cleanup 2026-03-13 16:18:15 -07:00
test_s3_v2.py Merge pull request #21157 from Point72/ephrimstanley/s3-logger-skip-missing-standard-logging-object 2026-02-16 18:29:59 +05:30
test_weave_otel.py feat: Basic Weave OTEL integration (#17439) 2025-12-03 21:26:22 -08:00