diff options
| author | jfriedli | 2020-05-08 09:10:18 -0700 |
|---|---|---|
| committer | jfriedli | 2020-05-08 09:10:18 -0700 |
| commit | 853ace7d83424f85d903f6ffe2352bf41f86b7ce (patch) | |
| tree | 91f33ae06272bbeda564b0aabe1baa4aaf8e2d87 /test/test_api.py | |
| parent | 9157dee69f69eeba521ff0a5f5cc651d3629ae6c (diff) | |
Resolve "Fuzzing Errors /api/upload"
Diffstat (limited to 'test/test_api.py')
| -rw-r--r-- | test/test_api.py | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/test/test_api.py b/test/test_api.py index 4925d9e..af736af 100644 --- a/test/test_api.py +++ b/test/test_api.py | |||
| @@ -70,7 +70,7 @@ class Mat2APITestCase(unittest.TestCase): | |||
| 70 | 70 | ||
| 71 | self.assertEqual(request.status_code, 400) | 71 | self.assertEqual(request.status_code, 400) |
| 72 | error = request.get_json()['message'] | 72 | error = request.get_json()['message'] |
| 73 | self.assertEqual(error, 'Failed decoding file: Incorrect padding') | 73 | self.assertEqual(error, 'Failed decoding file') |
| 74 | 74 | ||
| 75 | def test_api_not_supported(self): | 75 | def test_api_not_supported(self): |
| 76 | request = self.app.post('/api/upload', | 76 | request = self.app.post('/api/upload', |
| @@ -400,6 +400,25 @@ class Mat2APITestCase(unittest.TestCase): | |||
| 400 | request = app.get(download_link) | 400 | request = app.get(download_link) |
| 401 | self.assertEqual(code, request.status_code) | 401 | self.assertEqual(code, request.status_code) |
| 402 | 402 | ||
| 403 | def test_upload_naughty_input(self): | ||
| 404 | request = self.app.post('/api/upload', | ||
| 405 | data='{"file_name": "\\\\", ' | ||
| 406 | '"file": "\\\\"}', | ||
| 407 | headers={'content-type': 'application/json'} | ||
| 408 | ) | ||
| 409 | error_message = request.get_json()['message'] | ||
| 410 | self.assertEqual(400, request.status_code) | ||
| 411 | self.assertEqual("Invalid Filename", error_message) | ||
| 412 | |||
| 413 | request = self.app.post('/api/upload', | ||
| 414 | data='{"file_name": "﷽", ' | ||
| 415 | '"file": "﷽"}', | ||
| 416 | headers={'content-type': 'application/json'} | ||
| 417 | ) | ||
| 418 | error_message = request.get_json()['message'] | ||
| 419 | self.assertEqual(400, request.status_code) | ||
| 420 | self.assertEqual("Failed decoding file", error_message) | ||
| 421 | |||
| 403 | 422 | ||
| 404 | if __name__ == '__main__': | 423 | if __name__ == '__main__': |
| 405 | unittest.main() | 424 | unittest.main() |
