-
Notifications
You must be signed in to change notification settings - Fork 0
/
tests.py
134 lines (107 loc) · 3.98 KB
/
tests.py
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
import os
import unittest
from werkzeug.datastructures import FileStorage
from image_utils import ImageHandler
from video_utils import VideoHandler
class ImageTest(unittest.TestCase):
def test_jpg_is_correct(self):
file = open_as_werkzeug('test_media/test.jpg')
ih = ImageHandler(file)
self.assertTrue(ih.is_valid())
file.close()
def test_jpeg_is_correct(self):
file = open_as_werkzeug('test_media/test.jpeg')
ih = ImageHandler(file)
self.assertTrue(ih.is_valid())
file.close()
def test_png_is_correct(self):
file = open_as_werkzeug('test_media/test.png')
ih = ImageHandler(file)
self.assertTrue(ih.is_valid())
file.close()
def test_webp_is_correct(self):
file = open_as_werkzeug('test_media/test.webp')
ih = ImageHandler(file)
self.assertTrue(ih.is_valid())
file.close()
def test_heif_is_correct(self):
file = open_as_werkzeug('test_media/test.heif')
ih = ImageHandler(file)
self.assertTrue(ih.is_valid())
file.close()
def test_heic_is_correct(self):
file = open_as_werkzeug('test_media/test.heic')
ih = ImageHandler(file)
self.assertTrue(ih.is_valid())
file.close()
def test_jpg_is_incorrect(self):
file = open_as_werkzeug('test_media/test_invalid.jpg')
ih = ImageHandler(file)
self.assertFalse(ih.is_valid())
file.close()
def test_png_is_incorrect(self):
file = open_as_werkzeug('test_media/test_invalid.png')
ih = ImageHandler(file)
self.assertFalse(ih.is_valid())
file.close()
def test_webp_is_incorrect(self):
file = open_as_werkzeug('test_media/test_invalid.webp')
ih = ImageHandler(file)
self.assertFalse(ih.is_valid())
file.close()
def test_heif_is_incorrect(self):
file = open_as_werkzeug('test_media/test_invalid.heif')
ih = ImageHandler(file)
self.assertFalse(ih.is_valid())
file.close()
def test_heic_is_incorrect(self):
file = open_as_werkzeug('test_media/test_invalid.heic')
ih = ImageHandler(file)
self.assertFalse(ih.is_valid())
file.close()
def test_unknown_extension_is_incorrect(self):
file = open_as_werkzeug('test_media/test.txt')
ih = ImageHandler(file)
self.assertFalse(ih.is_valid())
file.close()
class VideoTest(unittest.TestCase):
def test_mp4_is_correct(self):
file = open_as_werkzeug('test_media/test.mp4')
video = VideoHandler(file)
self.assertTrue(video.is_valid())
file.close()
def test_mkv_is_correct(self):
file = open_as_werkzeug('test_media/test.mkv')
video = VideoHandler(file)
self.assertTrue(video.is_valid())
file.close()
def test_mov_is_correct(self):
file = open_as_werkzeug('test_media/test.mov')
video = VideoHandler(file)
self.assertTrue(video.is_valid())
file.close()
def test_unknown_extension_is_incorrect(self):
file = open_as_werkzeug('test_media/test.txt')
video = VideoHandler(file)
self.assertFalse(video.is_valid())
file.close()
def test_mp4_duration_is_correct(self):
file = open_as_werkzeug('test_media/test.mp4')
video = VideoHandler(file)
self.assertAlmostEqual(round(video.get_duration()), 25)
file.close()
def test_mkv_duration_is_correct(self):
file = open_as_werkzeug('test_media/test.mkv')
video = VideoHandler(file)
self.assertAlmostEqual(round(video.get_duration()), 25)
file.close()
def test_mov_duration_is_correct(self):
file = open_as_werkzeug('test_media/test.mov')
video = VideoHandler(file)
self.assertAlmostEqual(round(video.get_duration()), 25)
file.close()
def open_as_werkzeug(path):
file = open(path, 'rb')
return FileStorage(file)
if __name__ == '__main__':
unittest.main()