litellm/tests/test_litellm/containers
user 758b488326
fix(ownership): reject identity-less callers instead of sharing a sentinel scope
UNSCOPED_RESOURCE_OWNER_SCOPE collapsed every caller without an
identity field (no user_id / team_id / org_id / api_key / token) into
a single shared owner — a cross-tenant access primitive: any two such
callers could see and delete each other's containers and skills.

Drop the sentinel. ``get_primary_resource_owner_scope`` returns
``None`` and ``get_resource_owner_scopes`` returns ``[]`` for
identity-less callers. ``record_container_owner`` and
``LiteLLMSkillsHandler.create_skill`` now reject creates from
identity-less callers with a 403 instead of stamping the placeholder.
Read paths already deny ``owner is None`` correctly so legacy rows
(if any) are admin-only.
2026-05-04 23:40:22 +00:00
..
__init__.py
test_azure_container_transformation.py fix(proxy): forward decoded container ids after ownership checks 2026-05-01 21:50:57 -07:00
test_container_api.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_container_handler_url.py fix: encode upstream URL path identifiers 2026-04-29 22:02:39 -07:00
test_container_integration.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_container_proxy_ownership.py fix(ownership): reject identity-less callers instead of sharing a sentinel scope 2026-05-04 23:40:22 +00:00
test_container_regional_api_base.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_container_transformation.py fix: encode upstream URL path identifiers 2026-04-29 22:02:39 -07:00
test_container_utils.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00