mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-06-04 23:16:46 +00:00
52 lines
2.1 KiB
Python
52 lines
2.1 KiB
Python
import unittest
|
|
from unittest.mock import patch
|
|
|
|
from app.api.endpoints import download as download_endpoint
|
|
|
|
|
|
class DownloadPathsEndpointTest(unittest.TestCase):
|
|
def test_paths_returns_api_ready_save_paths(self):
|
|
mocked_dirs = [
|
|
download_endpoint.schemas.TransferDirectoryConf(
|
|
name="电影目录",
|
|
priority=1,
|
|
storage="local",
|
|
download_path="/downloads/movies",
|
|
media_type="movie",
|
|
),
|
|
download_endpoint.schemas.TransferDirectoryConf(
|
|
name="动漫远程目录",
|
|
priority=2,
|
|
storage="rclone",
|
|
download_path="/media/anime",
|
|
media_type="tv",
|
|
media_category="动漫",
|
|
),
|
|
]
|
|
|
|
with patch.object(download_endpoint.DirectoryHelper, "get_download_dirs", return_value=mocked_dirs):
|
|
ret = download_endpoint.paths(_=download_endpoint.schemas.TokenPayload())
|
|
|
|
self.assertEqual(len(ret), 2)
|
|
self.assertEqual(ret[0].name, "电影目录")
|
|
self.assertEqual(ret[0].storage, "local")
|
|
self.assertEqual(ret[0].download_path, "/downloads/movies")
|
|
self.assertEqual(ret[0].save_path, "/downloads/movies")
|
|
self.assertEqual(ret[0].priority, 1)
|
|
self.assertEqual(ret[0].media_type, "movie")
|
|
self.assertIsNone(ret[0].media_category)
|
|
|
|
self.assertEqual(ret[1].name, "动漫远程目录")
|
|
self.assertEqual(ret[1].storage, "rclone")
|
|
self.assertEqual(ret[1].download_path, "/media/anime")
|
|
self.assertEqual(ret[1].save_path, "rclone:/media/anime")
|
|
self.assertEqual(ret[1].priority, 2)
|
|
self.assertEqual(ret[1].media_type, "tv")
|
|
self.assertEqual(ret[1].media_category, "动漫")
|
|
|
|
def test_paths_returns_empty_list_when_unconfigured(self):
|
|
with patch.object(download_endpoint.DirectoryHelper, "get_download_dirs", return_value=[]):
|
|
ret = download_endpoint.paths(_=download_endpoint.schemas.TokenPayload())
|
|
|
|
self.assertEqual(ret, [])
|