From 5570b38f6cd0581d1fc1676428d702759a091a4d Mon Sep 17 00:00:00 2001 From: "J.F" Date: Tue, 24 Sep 2019 19:29:51 +0200 Subject: [PATCH] make filename and key required fields --- main.py | 4 ++-- test/test_api.py | 51 +++++++++++++----------------------------------- 2 files changed, 16 insertions(+), 39 deletions(-) diff --git a/main.py b/main.py index 9349ec1..d8649d7 100644 --- a/main.py +++ b/main.py @@ -190,8 +190,8 @@ def create_app(test_config=None): 'schema': { 'type': 'dict', 'schema': { - 'key': {'type': 'string'}, - 'file_name': {'type': 'string'} + 'key': {'type': 'string', 'required': True}, + 'file_name': {'type': 'string', 'required': True} } } } diff --git a/test/test_api.py b/test/test_api.py index b4cbd57..4b67478 100644 --- a/test/test_api.py +++ b/test/test_api.py @@ -231,6 +231,20 @@ class Mat2APITestCase(unittest.TestCase): self.assertEqual(response['message']['download_list'][0], 'min length is 2') self.assertEqual(request.status_code, 400) + post_body = { + u'download_list': [{}, {}] + } + request = self.app.post('/api/download/bulk', + data=json.dumps(post_body), + headers={'content-type': 'application/json'} + ) + + response = json.loads(request.data.decode('utf-8')) + print(response) + self.assertEqual(response['message']['download_list'][0]['0'][0]['file_name'][0], 'required field') + self.assertEqual(response['message']['download_list'][0]['0'][0]['key'][0], 'required field') + self.assertEqual(request.status_code, 400) + post_body = { u'download_list': [ { @@ -288,43 +302,6 @@ class Mat2APITestCase(unittest.TestCase): self.assertEqual(response['message']['download_list'][0], 'max length is 10') self.assertEqual(request.status_code, 400) - post_body = { - u'download_list': [ - { - u'file_name_x': 'invalid_file_name', - u'key_x': 'invalid_key' - }, - { - u'file_name_x': 'invalid_file_name', - u'key_x': 'invalid_key' - } - ] - } - request = self.app.post('/api/download/bulk', - data=json.dumps(post_body), - headers={'content-type': 'application/json'} - ) - - response = json.loads(request.data.decode('utf-8')) - expected = { - 'message': { - 'download_list': [ - { - '0': [{ - 'file_name_x': ['unknown field'], - 'key_x': ['unknown field'] - }], - '1': [{ - 'file_name_x': ['unknown field'], - 'key_x': ['unknown field'] - }] - } - ] - } - } - self.assertEqual(response, expected) - self.assertEqual(request.status_code, 400) - post_body = { u'download_list': [ {