From ef1e42bcbb20217a44639950e4080eeaa10f426b Mon Sep 17 00:00:00 2001 From: Arian Nasr Date: Mon, 1 Jun 2026 03:31:26 -0400 Subject: [PATCH 1/4] feat(tests): additional tests for uploads Signed-off-by: Arian Nasr --- e2e/unit/api/test_api.py | 44 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/e2e/unit/api/test_api.py b/e2e/unit/api/test_api.py index a7c02dc..36ddd52 100644 --- a/e2e/unit/api/test_api.py +++ b/e2e/unit/api/test_api.py @@ -18,5 +18,49 @@ 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_empty_file(base_url, upload_folder): + files = {'file': ('empty.mp3', io.BytesIO(b''))} + expected_filename = os.path.join(upload_folder, secure_filename('empty.mp3')) + 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) + +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_wav_file(base_url, upload_folder): + files = {'file': ('test.wav', io.BytesIO(b'fake wav content'))} + expected_filename = os.path.join(upload_folder, secure_filename('test.wav')) + 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 -- 2.47.3 From 6e22dcdda501b6aa3f2b3d0bcacce80b201d616d Mon Sep 17 00:00:00 2001 From: Arian Nasr Date: Mon, 1 Jun 2026 03:34:41 -0400 Subject: [PATCH 2/4] fix(tests): change edge case file extension Signed-off-by: Arian Nasr --- e2e/unit/api/test_api.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/e2e/unit/api/test_api.py b/e2e/unit/api/test_api.py index 36ddd52..45addfb 100644 --- a/e2e/unit/api/test_api.py +++ b/e2e/unit/api/test_api.py @@ -54,9 +54,9 @@ def test_api_upload_flac_file(base_url, upload_folder): if os.path.exists(expected_filename): os.remove(expected_filename) -def test_api_upload_wav_file(base_url, upload_folder): - files = {'file': ('test.wav', io.BytesIO(b'fake wav content'))} - expected_filename = os.path.join(upload_folder, secure_filename('test.wav')) +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", "") -- 2.47.3 From 9255f9b05246a55021a14075bdc2b6e3ea883134 Mon Sep 17 00:00:00 2001 From: Arian Nasr Date: Mon, 1 Jun 2026 03:37:18 -0400 Subject: [PATCH 3/4] refactor(tests): remove a test Signed-off-by: Arian Nasr --- e2e/unit/api/test_api.py | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/e2e/unit/api/test_api.py b/e2e/unit/api/test_api.py index 45addfb..0de2288 100644 --- a/e2e/unit/api/test_api.py +++ b/e2e/unit/api/test_api.py @@ -21,17 +21,6 @@ def test_api_upload_non_audio_file(base_url, upload_folder): if os.path.exists(expected_filename): os.remove(expected_filename) -def test_api_upload_empty_file(base_url, upload_folder): - files = {'file': ('empty.mp3', io.BytesIO(b''))} - expected_filename = os.path.join(upload_folder, secure_filename('empty.mp3')) - 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) - 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')) -- 2.47.3 From ded42ccd03ea03cd302d2a2c12dcc225322de72e Mon Sep 17 00:00:00 2001 From: Arian Nasr Date: Thu, 4 Jun 2026 19:36:30 -0400 Subject: [PATCH 4/4] chore(deps): bump python dependencies --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 -- 2.47.3