def validate_input(): """This method returns the result as sanitized or unsantized for valid input. Returns ------- boolean {"result": "sanitized"} {"result": "unsanitized"} """ try: content = request.json except Exception as err: # throws an error if input in not valid json print(err) return error_message("BAD_REQUEST") is_valid_key = key_exists("payload", content) if is_valid_key is False: return error_message("MISSING_PAYLOAD") if is_valid_input(content["payload"]): is_sanitized = compare_input(content["payload"]) if (is_sanitized): # print(is_valid_key) return jsonify({"result": "sanitized"}) else: return jsonify({"result": "unsanitized"}) else: return error_message()
def test_validate_input_invalid_input(self): with app.app_context(): resp = self.client.post('/api/v1/sanitized/input/', data=json.dumps(dict(payload=99)), content_type='application/json') self.assertEqual(resp.status_code, 400) self.assertEqual(str(resp.get_data(), 'utf-8'), error_message()[0])
def test_error_message_invalid_input(self): expected = "Invalid Input. Please verify your Input", 400 actual = error_message("") self.assertEqual(actual, expected)
def test_error_message_bad_request(self): expected = "Bad Request. Please verify your Input", 400 actual = error_message("BAD_REQUEST") self.assertEqual(actual, expected)
def test_error_message_missing_payload(self): expected = "Invalid Input. Request is missing \"payload\".", 400 actual = error_message("MISSING_PAYLOAD") self.assertEqual(actual, expected)