diff --git a/e2e/unit/api/test_api.py b/e2e/unit/api/test_api.py index a7c02dc..0de2288 100644 --- a/e2e/unit/api/test_api.py +++ b/e2e/unit/api/test_api.py @@ -18,5 +18,38 @@ def test_api_upload_non_audio_file(base_url, upload_folder): assert "not allowed" in response.json().get("error", "") assert not os.path.exists(expected_filename) + if os.path.exists(expected_filename): + os.remove(expected_filename) + +def test_api_upload_mp3_file(base_url, upload_folder): + files = {'file': ('test.mp3', io.BytesIO(b'fake mp3 content'))} + expected_filename = os.path.join(upload_folder, secure_filename('test.mp3')) + response = requests.post(f'{base_url}/', files=files) + assert response.status_code == 200 + assert "uploaded successfully" in response.json().get("message", "") + assert os.path.exists(expected_filename) + + if os.path.exists(expected_filename): + os.remove(expected_filename) + +def test_api_upload_flac_file(base_url, upload_folder): + files = {'file': ('test.flac', io.BytesIO(b'fake flac content'))} + expected_filename = os.path.join(upload_folder, secure_filename('test.flac')) + response = requests.post(f'{base_url}/', files=files) + assert response.status_code == 200 + assert "uploaded successfully" in response.json().get("message", "") + assert os.path.exists(expected_filename) + + if os.path.exists(expected_filename): + os.remove(expected_filename) + +def test_api_upload_m4a_file(base_url, upload_folder): + files = {'file': ('test.m4a', io.BytesIO(b'fake m4a content'))} + expected_filename = os.path.join(upload_folder, secure_filename('test.m4a')) + response = requests.post(f'{base_url}/', files=files) + assert response.status_code == 400 + assert "not allowed" in response.json().get("error", "") + assert not os.path.exists(expected_filename) + if os.path.exists(expected_filename): os.remove(expected_filename) \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 1a1688b..d84835b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,5 +6,5 @@ Jinja2==3.1.6 MarkupSafe==3.0.3 Werkzeug==3.1.8 gunicorn==26.0.0 -pip==26.1.1 +pip==26.1.2 packaging==26.2