diff options
| -rw-r--r-- | main.py | 5 | ||||
| -rw-r--r-- | tests.py | 5 |
2 files changed, 10 insertions, 0 deletions
| @@ -36,6 +36,11 @@ def download_file(filename:str): | |||
| 36 | 36 | ||
| 37 | @app.route('/', methods=['GET', 'POST']) | 37 | @app.route('/', methods=['GET', 'POST']) |
| 38 | def upload_file(): | 38 | def upload_file(): |
| 39 | mimetypes = set() | ||
| 40 | for parser in parser_factory._get_parsers(): | ||
| 41 | mimetypes = mimetypes | parser.mimetypes | ||
| 42 | mimetypes = ', '.join(mimetypes) | ||
| 43 | |||
| 39 | if request.method == 'POST': | 44 | if request.method == 'POST': |
| 40 | if 'file' not in request.files: # check if the post request has the file part | 45 | if 'file' not in request.files: # check if the post request has the file part |
| 41 | flash('No file part') | 46 | flash('No file part') |
| @@ -19,6 +19,11 @@ class FlaskrTestCase(unittest.TestCase): | |||
| 19 | rv = self.app.get('/') | 19 | rv = self.app.get('/') |
| 20 | self.assertIn(b'mat2-web', rv.data) | 20 | self.assertIn(b'mat2-web', rv.data) |
| 21 | 21 | ||
| 22 | def test_check_mimetypes(self): | ||
| 23 | rv = self.app.get('/') | ||
| 24 | self.assertIn(b'application/zip', rv.data) | ||
| 25 | self.assertIn(b'audio/x-flac', rv.data) | ||
| 26 | |||
| 22 | def test_get_download_dangerous_file(self): | 27 | def test_get_download_dangerous_file(self): |
| 23 | rv = self.app.get('/download/\..\filename') | 28 | rv = self.app.get('/download/\..\filename') |
| 24 | self.assertEqual(rv.status_code, 302) | 29 | self.assertEqual(rv.status_code, 302) |
