"""Tests for the Blender downloader module.""" import unittest from blender_downloader import ( get_archive_extension, get_download_url, get_extracted_dir_name, ) class TestGetDownloadUrl(unittest.TestCase): def test_builds_correct_url(self) -> None: url = get_download_url("5.0.1") self.assertIn("https://download.blender.org/release/Blender5.0/", url) self.assertIn("blender-5.0.1-", url) self.assertTrue(url.endswith(get_archive_extension())) def test_major_minor_extraction(self) -> None: url = get_download_url("4.3.2") self.assertIn("/Blender4.3/", url) self.assertIn("blender-4.3.2-", url) class TestGetExtractedDirName(unittest.TestCase): def test_linux_dir_name(self) -> None: name = get_extracted_dir_name("5.0.1") self.assertEqual(name, "blender-5.0.1-linux-x64") def test_different_version(self) -> None: name = get_extracted_dir_name("4.3.2") self.assertEqual(name, "blender-4.3.2-linux-x64") class TestGetArchiveExtension(unittest.TestCase): def test_linux_extension(self) -> None: ext = get_archive_extension() self.assertEqual(ext, ".tar.xz") if __name__ == "__main__": unittest.main()