crowncode-backend / tests /test_data_processing.py
Rthur2003's picture
fix: update audio processing tests to handle multiple error status codes
91fa7cf
Raw
History Blame
1.19 kB
"""Tests for /api/process/audio endpoint."""
from __future__ import annotations
import io
from fastapi.testclient import TestClient
def test_audio_rejects_non_audio(client: TestClient) -> None:
"""Should reject non-audio content type."""
fake = io.BytesIO(b"not audio")
response = client.post(
"/api/process/audio",
data={"options": '{"pitch_shift": 0}'},
files={"file": ("test.txt", fake, "text/plain")},
)
assert response.status_code in (400, 422)
def test_audio_rejects_missing_content_type(client: TestClient) -> None:
"""Should reject file with no content type."""
fake = io.BytesIO(b"some bytes")
response = client.post(
"/api/process/audio",
data={"options": '{"pitch_shift": 0}'},
files={"file": ("test.bin", fake, "")},
)
# Empty content_type should be treated as invalid
assert response.status_code in (400, 422)
def test_audio_rejects_missing_file(client: TestClient) -> None:
"""Should reject request without file."""
response = client.post(
"/api/process/audio",
data={"options": '{"pitch_shift": 0}'},
)
assert response.status_code == 422