-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest.py
More file actions
34 lines (29 loc) · 1.24 KB
/
test.py
File metadata and controls
34 lines (29 loc) · 1.24 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
import unittest
from unittest.mock import Mock
from app import Detector
import os
class TestDetector(unittest.TestCase):
def test_file_extensions_allowed(self):
d = Detector("upload", ['.jpeg', '.jpg', '.mp4'])
self.assertTrue(d.is_file_allowed('thisisallowed.jpeg'))
self.assertTrue(d.is_file_allowed('thisisallowed.jpg'))
self.assertTrue(d.is_file_allowed('thisisallowed.mp4'))
def test_file_extensions_not_allowed(self):
d = Detector("upload", ['.jpeg', '.jpg', '.mp4'])
self.assertFalse(d.is_file_allowed('thisisnotallowed.gif'))
self.assertFalse(d.is_file_allowed(''))
def test_save_file_successful(self):
d = Detector('uploads', ['.jpg', '.jpeg', '.mp4'])
mock_file = Mock()
mock_file.filename = 'test.jpg'
saved_path = d.save_file(mock_file)
expected_path = os.path.join('uploads', 'test.jpg')
self.assertEqual(saved_path, expected_path)
def test_save_file_fail_extension(self):
d = Detector('uploads', ['.jpg', '.jpeg', '.mp4'])
mock_file = Mock()
mock_file.filename = 'test.gif'
result = d.save_file(mock_file)
self.assertIsNone(result)
if __name__ == "__main__":
unittest.main()