import tempfile import unittest from pathlib import Path from zyrarbot.storage.uploads_repository import UploadsRepository class UploadsRepositoryTest(unittest.TestCase): def test_only_audio_and_video_extensions_are_supported(self): self.assertTrue(UploadsRepository.is_supported_filename("song.MP3")) self.assertTrue(UploadsRepository.is_supported_filename("video.webm")) self.assertFalse(UploadsRepository.is_supported_filename("program.exe")) self.assertFalse(UploadsRepository.is_supported_filename("document.pdf")) def test_legacy_root_files_are_assigned_to_first_guild(self): with tempfile.TemporaryDirectory() as directory: root = Path(directory) (root / "legacy.mp3").write_bytes(b"audio") repository = UploadsRepository(str(root)) repository.migrate_legacy(10) self.assertEqual([item.filename for item in repository.list(10)], ["legacy.mp3"]) self.assertFalse((root / "legacy.mp3").exists()) self.assertEqual(repository.list(20), []) if __name__ == "__main__": unittest.main()