43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
"""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()
|