Repository navigation
Expand file tree
/
Copy pathtest_export.py
More file actions
141 lines (122 loc) · 5.48 KB
/
Copy pathtest_export.py
File metadata and controls
141 lines (122 loc) · 5.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
"""Tests of the convertion script"""
import unittest
import zipfile
from pathlib import Path
from convert2cbz import prog_parser, protect_path, process_input
# -- Function
def is_valid_zip(input_file):
"""Check if the input is a valid zip archive"""
try:
with zipfile.ZipFile(input_file, "r") as zip_file:
return zip_file.testzip() is None
except zipfile.BadZipfile:
return False
def remove_cbz():
"""Remove all CBZ"""
for item in Path(".").rglob("*.cbz"):
item.unlink()
# -- Initialize tests
class TestConvertion(unittest.TestCase):
"""Unitest class for test cases"""
# -- Test 1 : Convert one PDF file
def test_convert_one_pdf(self):
"""Test convert one PDF file"""
remove_cbz()
input_obj = 'tests/one_file/pdf/bd-gratuite-zoo-dingo-t-4-safari-party.pdf'
expected_obj = Path("tests/one_file/pdf/bd-gratuite-zoo-dingo-t-4-safari-party.cbz")
parser = prog_parser([input_obj])
parser = protect_path(parser)
process_input(parser)
self.assertTrue(expected_obj.is_file())
self.assertTrue(is_valid_zip(expected_obj))
def test_convert_one_pdf_with_name(self):
"""Test convert one PDF file with specific output"""
remove_cbz()
input_obj = 'tests/one_file/pdf/bd-gratuite-zoo-dingo-t-4-safari-party.pdf'
expected_obj = Path("Out/converted.cbz")
parser = prog_parser([input_obj, '-o Out/converted.cbz'])
parser = protect_path(parser)
process_input(parser)
self.assertTrue(expected_obj.is_file())
self.assertTrue(is_valid_zip(expected_obj))
def test_convert_one_cbr(self):
"""Test convert one CBR file"""
remove_cbz()
input_obj = 'tests/one_file/cbr/bd-gratuite-zoo-dingo-t-4-safari-party.cbr'
expected_obj = Path("tests/one_file/cbr/bd-gratuite-zoo-dingo-t-4-safari-party.cbz")
parser = prog_parser([input_obj])
parser = protect_path(parser)
process_input(parser)
self.assertTrue(expected_obj.is_file())
self.assertTrue(is_valid_zip(expected_obj))
def test_convert_one_cbr_with_name(self):
"""Test convert one CBR file with specific output"""
remove_cbz()
input_obj = 'tests/one_file/cbr/bd-gratuite-zoo-dingo-t-4-safari-party.cbr'
expected_obj = Path("Out/converted.cbz")
parser = prog_parser([input_obj, '-o Out/converted.cbz'])
parser = protect_path(parser)
process_input(parser)
self.assertTrue(expected_obj.is_file())
self.assertTrue(is_valid_zip(expected_obj))
def test_convert_one_epub(self):
"""Test convert one EPUB file"""
remove_cbz()
input_obj = 'tests/one_file/epub/bd-gratuite-zoo-dingo-t-4-safari-party.epub'
expected_obj = Path("tests/one_file/epub/bd-gratuite-zoo-dingo-t-4-safari-party.cbz")
parser = prog_parser([input_obj])
parser = protect_path(parser)
process_input(parser)
self.assertTrue(expected_obj.is_file())
self.assertTrue(is_valid_zip(expected_obj))
def test_convert_one_epub_with_name(self):
"""Test convert one EPUB file with specific output"""
remove_cbz()
input_obj = 'tests/one_file/epub/bd-gratuite-zoo-dingo-t-4-safari-party.epub'
expected_obj = Path("Out/converted.cbz")
parser = prog_parser([input_obj, '-o Out/converted.cbz'])
parser = protect_path(parser)
process_input(parser)
self.assertTrue(expected_obj.is_file())
self.assertTrue(is_valid_zip(expected_obj))
def test_convert_multiple_pdf(self):
"""Test convert multiple PDF files | directory scanning"""
remove_cbz()
input_obj = 'tests/dir/pdf'
expected_obj = [Path('tests/dir/pdf/bd-gratuite-vick-et-vicky-t-8-les-sorcieres-de'
'-broceliande-t-1-le-grimoire.cbz'),
Path('tests/dir/pdf/bd-gratuite-zoo-dingo-t-4-safari-party.cbz')]
parser = prog_parser([input_obj])
parser = protect_path(parser)
process_input(parser)
for cbz_item_path in expected_obj:
self.assertTrue(cbz_item_path.is_file())
def test_convert_multiple_cbr(self):
"""Test convert multiple CBR files | directory scanning"""
remove_cbz()
input_obj = 'tests/dir/cbr'
expected_obj = [Path('tests/dir/cbr/bd-gratuite-vick-et-vicky-t-8-les-sorcieres-de'
'-broceliande-t-1-le-grimoire.cbz'),
Path('tests/dir/cbr/bd-gratuite-zoo-dingo-t-4-safari-party.cbz')]
parser = prog_parser([input_obj])
parser = protect_path(parser)
process_input(parser)
for cbz_item_path in expected_obj:
self.assertTrue(cbz_item_path.is_file())
def test_convert_multiple_epub(self):
"""Test convert multiple EPUB files | directory scanning"""
remove_cbz()
input_obj = 'tests/dir/epub'
expected_obj = [Path('tests/dir/epub/bd-gratuite-vick-et-vicky-t-8-les-sorcieres-de'
'-broceliande-t-1-le-grimoire.cbz'),
Path('tests/dir/epub/bd-gratuite-zoo-dingo-t-4-safari-party.cbz')]
parser = prog_parser([input_obj])
parser = protect_path(parser)
process_input(parser)
for cbz_item_path in expected_obj:
self.assertTrue(cbz_item_path.is_file())
if __name__ == '__main__':
# -- Remove all cbz files
remove_cbz()
# -- Call test
unittest.main()