at main 1.3 kB view raw
1"""test upload size limits for audio and image files.""" 2 3import pytest 4from sqlalchemy.ext.asyncio import AsyncSession 5 6from backend.config import settings 7from backend.models import Artist, Track 8 9 10@pytest.fixture 11async def test_artist(db_session: AsyncSession) -> Artist: 12 """create test artist for upload tests.""" 13 artist = Artist( 14 did="did:plc:testartist", 15 handle="testartist.bsky.social", 16 display_name="Test Artist", 17 ) 18 db_session.add(artist) 19 await db_session.commit() 20 return artist 21 22 23@pytest.fixture 24async def test_track(db_session: AsyncSession, test_artist: Artist) -> Track: 25 """create test track for update tests.""" 26 track = Track( 27 title="test track", 28 file_id="testfile123456", 29 file_type="mp3", 30 artist_did=test_artist.did, 31 ) 32 db_session.add(track) 33 await db_session.commit() 34 return track 35 36 37def test_configurable_upload_limit(): 38 """test that upload size limit is configurable via settings.""" 39 # verify default is 1536MB (1.5GB) 40 assert settings.storage.max_upload_size_mb == 1536 41 42 # verify it can be changed (this would normally be via env var) 43 settings.storage.max_upload_size_mb = 2048 44 assert settings.storage.max_upload_size_mb == 2048 45 46 # restore default 47 settings.storage.max_upload_size_mb = 1536