diff --git a/matweb/rest_api.py b/matweb/rest_api.py index 429b82e..2909cf6 100644 --- a/matweb/rest_api.py +++ b/matweb/rest_api.py @@ -106,6 +106,8 @@ class APIBulkDownloadCreator(Resource): def post(self): utils.check_upload_folder(current_app.config['UPLOAD_FOLDER']) data = request.json + if not data: + abort(400, message="Post Body Required") if not self.v.validate(data): abort(400, message=self.v.errors) # prevent the zip file from being overwritten diff --git a/test/test_api.py b/test/test_api.py index be9cb29..6961197 100644 --- a/test/test_api.py +++ b/test/test_api.py @@ -263,6 +263,14 @@ class Mat2APITestCase(unittest.TestCase): request = self.app.get(upload_two['download_link']) self.assertEqual(request.status_code, 404) + def test_api_bulk_empty_body(self): + request = self.app.post( + '/api/download/bulk', + ) + self.assertEqual(400, request.status_code) + error_message = request.get_json()['message'] + self.assertEqual("Post Body Required", error_message) + def test_api_bulk_download_validation(self): post_body = { u'download_list': [