from __future__ import annotations import pytest from app.api.v1.endpoints.platform import _validate_storage_key def test_storage_key_is_scoped_to_resource_version() -> None: assert ( _validate_storage_key("dataset", "ds_123", "v1", None, "train.jsonl") == "datasets/ds_123/versions/v1/train.jsonl" ) @pytest.mark.parametrize( "object_key", [ "models/other/versions/v1/model.bin", "datasets/ds_123/versions/v1/../secret.bin", "datasets/ds_123/versions/v1/../../secret.bin", "/datasets/ds_123/versions/v1/model.bin", ], ) def test_storage_key_rejects_escape_or_cross_resource_paths(object_key: str) -> None: with pytest.raises(ValueError): _validate_storage_key("dataset", "ds_123", "v1", object_key, None)