import os import shutil from pathlib import Path import mangadlp.app as app def test_full_api_mangadex(): manga_path = Path("tests/Shikimori's Not Just a Cutie") chapter_path = Path("tests/Shikimori's Not Just a Cutie/Ch. 1.cbz") mdlp = app.MangaDLP( url_uuid="https://mangadex.org/title/0aea9f43-d4a9-4bf7-bebc-550a512f9b95/shikimori-s-not-just-a-cutie", language="en", chapters="1", readlist="", list_chapters=False, file_format="cbz", forcevol=False, download_path="tests", download_wait=0.5, verbose=True, ) mdlp.__main__() assert manga_path.exists() and manga_path.is_dir() assert chapter_path.exists() and chapter_path.is_file() # cleanup shutil.rmtree(manga_path, ignore_errors=True) def test_full_with_input_cbz(): url_uuid = "https://mangadex.org/title/0aea9f43-d4a9-4bf7-bebc-550a512f9b95/shikimori-s-not-just-a-cutie" language = "en" chapters = "1" file_format = "cbz" download_path = "tests" manga_path = Path("tests/Shikimori's Not Just a Cutie") chapter_path = Path("tests/Shikimori's Not Just a Cutie/Ch. 1.cbz") command_args = f"-u {url_uuid} -l {language} -c {chapters} --path {download_path} --format {file_format} --verbose" script_path = "manga-dlp.py" os.system(f"python3 {script_path} {command_args}") assert manga_path.exists() and manga_path.is_dir() assert chapter_path.exists() and chapter_path.is_file() # cleanup shutil.rmtree(manga_path, ignore_errors=True) def test_full_with_input_pdf(): url_uuid = "https://mangadex.org/title/0aea9f43-d4a9-4bf7-bebc-550a512f9b95/shikimori-s-not-just-a-cutie" language = "en" chapters = "1" file_format = "pdf" download_path = "tests" manga_path = Path("tests/Shikimori's Not Just a Cutie") chapter_path = Path("tests/Shikimori's Not Just a Cutie/Ch. 1.pdf") command_args = f"-u {url_uuid} -l {language} -c {chapters} --path {download_path} --format {file_format} --verbose" script_path = "manga-dlp.py" os.system(f"python3 {script_path} {command_args}") assert manga_path.exists() and manga_path.is_dir() assert chapter_path.exists() and chapter_path.is_file() # cleanup shutil.rmtree(manga_path, ignore_errors=True) def test_full_with_input_folder(): url_uuid = "https://mangadex.org/title/0aea9f43-d4a9-4bf7-bebc-550a512f9b95/shikimori-s-not-just-a-cutie" language = "en" chapters = "1" file_format = "" download_path = "tests" manga_path = Path("tests/Shikimori's Not Just a Cutie") chapter_path = Path("tests/Shikimori's Not Just a Cutie/Ch. 1") command_args = f"-u {url_uuid} -l {language} -c {chapters} --path {download_path} --format '{file_format}' --verbose" script_path = "manga-dlp.py" os.system(f"python3 {script_path} {command_args}") assert manga_path.exists() and manga_path.is_dir() assert chapter_path.exists() and chapter_path.is_dir() # cleanup shutil.rmtree(manga_path, ignore_errors=True) def test_full_with_input_skip_cbz(): url_uuid = "https://mangadex.org/title/0aea9f43-d4a9-4bf7-bebc-550a512f9b95/shikimori-s-not-just-a-cutie" language = "en" chapters = "1" file_format = "cbz" download_path = "tests" manga_path = Path("tests/Shikimori's Not Just a Cutie") chapter_path = Path("tests/Shikimori's Not Just a Cutie/Ch. 1.cbz") command_args = f"-u {url_uuid} -l {language} -c {chapters} --path {download_path} --format {file_format} --verbose" script_path = "manga-dlp.py" manga_path.mkdir(parents=True, exist_ok=True) chapter_path.touch() os.system(f"python3 {script_path} {command_args}") assert chapter_path.is_file() assert chapter_path.stat().st_size == 0 # cleanup shutil.rmtree(manga_path, ignore_errors=True) def test_full_with_input_skip_folder(): url_uuid = "https://mangadex.org/title/0aea9f43-d4a9-4bf7-bebc-550a512f9b95/shikimori-s-not-just-a-cutie" language = "en" chapters = "1" file_format = "" download_path = "tests" manga_path = Path("tests/Shikimori's Not Just a Cutie") chapter_path = Path("tests/Shikimori's Not Just a Cutie/Ch. 1") command_args = f"-u {url_uuid} -l {language} -c {chapters} --path {download_path} --format '{file_format}' --verbose" script_path = "manga-dlp.py" chapter_path.mkdir(parents=True, exist_ok=True) os.system(f"python3 {script_path} {command_args}") found_files = [] for file in chapter_path.iterdir(): found_files.append(file.name) assert chapter_path.is_dir() assert found_files == [] assert not Path("tests/Shikimori's Not Just a Cutie/Ch. 1.cbz").exists() assert not Path("tests/Shikimori's Not Just a Cutie/Ch. 1.zip").exists() # cleanup shutil.rmtree(manga_path, ignore_errors=True) def test_full_with_read_cbz(): url_list = Path("tests/test_list2.txt") language = "en" chapters = "1" file_format = "cbz" download_path = "tests" manga_path = Path("tests/Shikimori's Not Just a Cutie") chapter_path = Path("tests/Shikimori's Not Just a Cutie/Ch. 1.cbz") command_args = f"--read {str(url_list)} -l {language} -c {chapters} --path {download_path} --format {file_format} --verbose" script_path = "manga-dlp.py" url_list.write_text( "https://mangadex.org/title/0aea9f43-d4a9-4bf7-bebc-550a512f9b95/shikimori-s-not-just-a-cutie" ) os.system(f"python3 {script_path} {command_args}") assert manga_path.exists() and manga_path.is_dir() assert chapter_path.exists() and chapter_path.is_file() # cleanup shutil.rmtree(manga_path, ignore_errors=True) def test_full_with_read_skip_cbz(): url_list = Path("tests/test_list2.txt") language = "en" chapters = "1" file_format = "cbz" download_path = "tests" manga_path = Path("tests/Shikimori's Not Just a Cutie") chapter_path = Path("tests/Shikimori's Not Just a Cutie/Ch. 1.cbz") command_args = f"--read {str(url_list)} -l {language} -c {chapters} --path {download_path} --format {file_format} --verbose" script_path = "manga-dlp.py" manga_path.mkdir(parents=True, exist_ok=True) chapter_path.touch() url_list.write_text( "https://mangadex.org/title/0aea9f43-d4a9-4bf7-bebc-550a512f9b95/shikimori-s-not-just-a-cutie" ) os.system(f"python3 {script_path} {command_args}") assert chapter_path.is_file() assert chapter_path.stat().st_size == 0 # cleanup shutil.rmtree(manga_path, ignore_errors=True) # def test_full_without_input(): # script_path = "manga-dlp.py" # assert os.system(f"python3 {script_path}") != 0 def test_full_show_version(): script_path = "manga-dlp.py" assert os.system(f"python3 {script_path} --version") == 0