Commit graph

8150 commits

Author SHA1 Message Date
Ryan Crabbe
79064a68e4
fix: allow non-admin access to /guardrails/submissions and fix register membership check
Bug 1: internal users hit route-level 403 on /guardrails/submissions.
The route wasn't in self_managed_routes, so the route allowlist rejected
non-admin callers before our endpoint's team-scoping ran. Added
/guardrails/submissions and /guardrails/submissions/{guardrail_id} to
self_managed_routes.

Bug 2: register_guardrail 403'd non-admins registering for teams in
their user.teams list. It used get_team_membership() which reads the
litellm_teammembership join table, but that row is only created when
the team has a budget (management_helpers/utils.py:225). Switched to
the _get_user_team_ids helper (reads user_obj.teams), making it
consistent with list_guardrail_submissions.

UI: moved the Test Playground tab inside the isAdmin conditional in
guardrails.tsx. Internal users now see only the Submitted Guardrails
tab; admins still see all four.

Tests: added coverage for non-admin register paths (cross-team allowed
and cross-team forbidden).
2026-04-04 16:11:28 -07:00
Ryan Crabbe
ab9c875a00
feat: scope guardrail submissions to team members
Backend:
- list_guardrail_submissions no longer 403s non-admins; it returns only
  submissions whose team_id matches one of the caller's teams (via
  get_user_object.teams). Admins still see all.
- Filtering by a team the caller is not in returns 403.
- Users with no team memberships get an empty list (no DB query).
- get_guardrail_submission applies the same scoping to single-item GETs.

Frontend:
- Remove admin-only bail-out in TeamGuardrailsTab.fetchSubmissions so
  internal users actually load their team's submissions.
- Finish antd migration in guardrails.tsx: drop the last Tremor Button.
- Remove guardrailsList.length === 0 gate on the Test Playground tab;
  the playground already renders a "No guardrails available" inline
  empty state, which is more discoverable than a disabled tab.

Tests:
- Cover non-admin scoped access, empty teams, cross-team filter 403,
  and per-submission GET scoping.
2026-04-04 15:35:25 -07:00
Ishaan Jaffer
0ea05469bc test_completion_azure 2026-03-30 21:54:27 -07:00
ishaan-berri
77e6546e55
Merge pull request #24837 from BerriAI/lllm_build_and_test_fail
[Test] Move test_add_and_delete_model to Mock Test
2026-03-30 21:41:28 -07:00
Yuneng Jiang
e014dfb8e0
fix: mock encrypt_value_helper in lifecycle test
CI fails because LITELLM_MASTER_KEY is not set, causing
encrypt_value_helper to error on NoneType.encode(). Patch it
to pass through values unencrypted in the test.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 21:36:40 -07:00
Ishaan Jaffer
823e7b2a9d test_completion_azure 2026-03-30 21:36:35 -07:00
Ishaan Jaffer
3034ac26f7 fix 2026-03-30 21:33:47 -07:00
Yuneng Jiang
b48c037712
test: replace test_add_and_delete_models integration test with mock
Skip the integration test that requires a live proxy and OPENAI_API_KEY
(removed from CI/CD). Add deterministic mock test covering the same
add → delete → double-delete-fails lifecycle.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 21:30:57 -07:00
Ishaan Jaffer
669d2a6d8b test_router_init_azure_service_principal_with_secret_with_environment_variables 2026-03-30 21:15:53 -07:00
Ishaan Jaffer
8c6a67dae1 test_bedrock_embedding_cohere 2026-03-30 21:08:51 -07:00
Ishaan Jaffer
a7bfe0c540 test_completion_azure 2026-03-30 21:07:49 -07:00
Ishaan Jaffer
9b46d88371 test_completion_azure 2026-03-30 21:07:41 -07:00
Ishaan Jaffer
f636c3b3b7 pin axios 2026-03-30 20:20:23 -07:00
Ishaan Jaffer
81028b9682 use mock tests for assembly AI 2026-03-30 19:59:32 -07:00
Krrish Dholakia
5d6c76aa1a
Merge pull request #24823 from jaydns/fixes
chore: fixes
2026-03-30 19:35:40 -07:00
Krrish Dholakia
0cf4b05991 test: remove bad e2e tests - e2e failing due to low rate limits on ci/cd 2026-03-30 19:18:10 -07:00
Krrish Dholakia
c6f1f8b6b3 fix: move to new vertex credentials 2026-03-30 19:16:05 -07:00
jayden
9ca1560501
chore: fix test 2026-03-30 19:14:01 -07:00
Krrish Dholakia
40074fffe1
Merge pull request #24824 from BerriAI/litellm_fix_test_redis_and_azure_mock
[Fix] Use correct Redis env vars and fix Azure AD token test mocking
2026-03-30 19:12:45 -07:00
Ishaan Jaffer
7954d1a11f test_azure_ai_model_router_streaming_cost_with_stream_options 2026-03-30 19:12:01 -07:00
Krrish Dholakia
89091e4f29 test: fix assemblyai passthrough transcription request format
Switch the passthrough e2e helper to direct HTTP transcript create/poll/delete calls so the request includes required speech_models and remains compatible with current AssemblyAI API behavior.

Made-with: Cursor
2026-03-30 18:49:04 -07:00
Yuneng Jiang
e69dfbc07d
Merge main and resolve conflict in test_router_client_init.py
Keep both AZURE_AI_API_KEY (renamed on main) and AZURE_OPENAI_API_KEY
(added in this branch) env var cleanup.
2026-03-30 18:44:33 -07:00
Ishaan Jaffer
7e93256da4 test_bedrock_document_understanding 2026-03-30 18:39:20 -07:00
jayden
57c05459ae
chore: fixes 2026-03-30 18:36:58 -07:00
Yuneng Jiang
05ecfa3470
[Fix] Use correct Redis env vars and fix Azure AD token test mocking
- test_caching_router: Use REDIS_HOST/PORT/PASSWORD/SSL instead of
  non-existent REDIS_HOST_2 variants
- test_router_init_azure_service_principal: Use monkeypatch.setenv instead
  of patching the os module in only one file, so both common_utils._resolve_env_var
  and get_azure_ad_token_provider see the mocked credentials. Also clear
  AZURE_OPENAI_API_KEY to prevent it from short-circuiting the token provider path.
2026-03-30 18:32:04 -07:00
ishaan-berri
7cc997bd75
Merge pull request #24822 from BerriAI/litellm_/romantic-galileo
[Test] Move Snowflake Mocked Tests to Unit Test Directory
2026-03-30 18:25:03 -07:00
Ishaan Jaffer
0298c1f58d test_basic_s3_v2_logging 2026-03-30 18:17:52 -07:00
Krrish Dholakia
e17acd6b69 test: make tests smarter 2026-03-30 18:14:44 -07:00
Ishaan Jaffer
83dc158a2a test fix 2026-03-30 18:08:57 -07:00
Krrish Dholakia
74008e3220 test: cleanup test impacted by deployment name change 2026-03-30 18:07:50 -07:00
Yuneng Jiang
2b374a2abf
Merge main and resolve Snowflake test conflict
Main rewrote the same tests we moved. Resolution: keep the tests only
in the unit test directory, adopting main's improved patterns (AsyncMock,
assert_called_once, stronger content assertions on streaming).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 18:06:37 -07:00
Yuneng Jiang
19f8b58046
[Test] Move mocked Snowflake chat completion tests to unit test directory
Move test_chat_completion_snowflake and test_chat_completion_snowflake_stream
from tests/llm_translation/ to tests/test_litellm/llms/snowflake/chat/ so
they run as part of `make test-unit` without requiring API credentials.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 18:03:00 -07:00
Krrish Dholakia
949a395b01 test: use env var azure model router api base 2026-03-30 18:02:43 -07:00
Ishaan Jaffer
facb230fee test_create_vertex_fine_tune_jobs_mocked 2026-03-30 18:01:23 -07:00
Krrish Dholakia
5596728cae
Merge pull request #24753 from BerriAI/litellm_dev_03_27_2026_p1
Fix returned model when batch completions is used - return picked model, not comma-separated list
2026-03-30 17:53:48 -07:00
Ishaan Jaffer
7844571d36 test GCS BUCKET 2026-03-30 17:53:26 -07:00
Krrish Dholakia
ee4ded4c44
Merge pull request #24445 from quora/fix/missing-content-part-added
fix(responses): emit content_part.added event for non-OpenAI models
2026-03-30 17:52:40 -07:00
Ishaan Jaffer
9d4090bc5a test fix - remove tests that were skipped 2026-03-30 17:48:54 -07:00
Krrish Dholakia
13b7c2e602 test: update testing 2026-03-30 17:48:25 -07:00
Ishaan Jaffer
6c3de43fcf test_enterprise_custom_auth_returns_string 2026-03-30 17:43:58 -07:00
Krrish Dholakia
770f5ce721 test: fix test assertion 2026-03-30 17:35:11 -07:00
Krrish Dholakia
c2aec08a1b test: fix test 2026-03-30 17:15:19 -07:00
Krrish Dholakia
aa061d026f fix: fix test 2026-03-30 17:12:54 -07:00
Ishaan Jaffer
443566d4f5 test fixes 2026-03-30 16:59:27 -07:00
Ishaan Jaffer
28afbc152f test_async_gcs_pub_sub_v1 2026-03-30 16:52:56 -07:00
Ishaan Jaffer
42efaa597e test fix 2026-03-30 16:43:49 -07:00
Ishaan Jaffer
a449e322c0 test_completion_cloudflare 2026-03-30 16:40:37 -07:00
Ishaan Jaffer
3a0ebda867 test snowflake 2026-03-30 16:39:06 -07:00
Ishaan Jaffer
98de60e741 test_completion_gpt4_turbo 2026-03-30 16:35:31 -07:00
Ishaan Jaffer
37bcc3252f test_completion_gpt4_turbo 2026-03-30 16:35:10 -07:00