File size: 938 Bytes
7cc81cb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import pytest
from fastapi.testclient import TestClient

from app.core.exceptions import NotFoundError
from main import create_app


def test_errors_use_safe_standard_envelope(settings) -> None:
    with TestClient(create_app(settings), raise_server_exceptions=False) as client:
        response = client.post(
            "/v1/probe",
            json={"base64": "not-valid-base64!", "filename": "sample.mp3"},
        )
    assert response.status_code == 422
    payload = response.json()
    assert payload["success"] is False
    assert payload["request_id"]
    assert payload["error"]["code"] == "INVALID_INPUT"
    assert "traceback" not in response.text.lower()


def test_download_path_traversal_is_rejected(settings) -> None:
    app = create_app(settings)
    with pytest.raises(NotFoundError):
        app.state.container.cleanup.resolve_download(
            "00000000-0000-0000-0000-000000000000", "../secret.mp4"
        )