mirror of
https://0xacab.org/jvoisin/mat2-web.git
synced 2025-05-12 11:12:17 -04:00
added missing error handler
This commit is contained in:
parent
18604650d0
commit
0219faa020
2 changed files with 13 additions and 1 deletions
|
@ -26,8 +26,12 @@ class APIUpload(Resource):
|
||||||
req_parser = reqparse.RequestParser()
|
req_parser = reqparse.RequestParser()
|
||||||
req_parser.add_argument('file_name', type=str, required=True, help='Post parameter is not specified: file_name')
|
req_parser.add_argument('file_name', type=str, required=True, help='Post parameter is not specified: file_name')
|
||||||
req_parser.add_argument('file', type=str, required=True, help='Post parameter is not specified: file')
|
req_parser.add_argument('file', type=str, required=True, help='Post parameter is not specified: file')
|
||||||
|
try:
|
||||||
args = req_parser.parse_args()
|
args = req_parser.parse_args()
|
||||||
|
except ValueError as e:
|
||||||
|
current_app.logger.error('Upload - failed parsing arguments %s', e)
|
||||||
|
abort(400, message='Failed parsing body')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
file_data = base64.b64decode(args['file'])
|
file_data = base64.b64decode(args['file'])
|
||||||
except (binascii.Error, ValueError) as e:
|
except (binascii.Error, ValueError) as e:
|
||||||
|
|
|
@ -432,6 +432,14 @@ class Mat2APITestCase(unittest.TestCase):
|
||||||
self.assertEqual(400, request.status_code)
|
self.assertEqual(400, request.status_code)
|
||||||
self.assertEqual("Failed decoding file", error_message)
|
self.assertEqual("Failed decoding file", error_message)
|
||||||
|
|
||||||
|
request = self.app.post('/api/upload',
|
||||||
|
data="\"\'\'\'&&cat$z $z/etc$z/passwdu0000\"",
|
||||||
|
headers={'content-type': 'application/json'}
|
||||||
|
)
|
||||||
|
error_message = request.get_json()['message']
|
||||||
|
self.assertEqual(400, request.status_code)
|
||||||
|
self.assertEqual("Failed parsing body", error_message)
|
||||||
|
|
||||||
def test_valid_opena_api_spec(self):
|
def test_valid_opena_api_spec(self):
|
||||||
spec = self.app.get('apispec_1.json').get_json()
|
spec = self.app.get('apispec_1.json').get_json()
|
||||||
validate_spec(spec)
|
validate_spec(spec)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue