def api_v1_debug(): # 获取前端传来的数据 data = request.get_json() print('前端传递过来的数据是', data) # 数据校验 method和url地址必须要传过来 method = data.get('method') if not method: return jsonify({ 'status': 400, 'message': 'invalid method parameter', 'data': data }) url = data.get('url') if not url: return jsonify({ 'status': 400, 'message': 'invalid url parameter', 'data': data }) # 对数据做逻辑处理 在servicepython文件中做处理 server = Service() # todo 发起请求之前,变量解析 # data = server.replace_variable(data) # data =server.make_request(data) # # 对响应结果做断言 # data = server.make_assert(data) data = server.run(data) # 给前端返回数据 return jsonify({'status': 0, 'message': 'ok', 'data': data})
def api_v1_trigger(): # 这里支持GET与POST请求,获取参数方法不同。 if request.method == 'GET': data = request.values.to_dict() else: data = request.get_json() cases = data.get('cases', None) if not cases: return jsonify({ 'status': 400, 'message': 'invalid parameter [cases]', 'data': data, }) try: service = Service() result = service.trigger(data) return jsonify({ 'status': 0, 'message': 'ok', 'data': result, }) except Exception as error: return jsonify({'status': 500, 'message': str(error), 'data': data})
def interface_api_v1_list(): data = request.values.to_dict() service = Service() return jsonify({ 'status': 0, 'message': 'ok', 'data': service.get_interface_list(data) })
def api_v2_search(): data = request.values.to_dict() if 'id' not in data: return jsonify({ 'status': 400, 'message': 'invalid id parameter', 'data': data }) service = Service() data = service.interface_search(data) return jsonify({'status': 0, 'message': 'ok', 'data': data})
def api_v1_suite_delete(): '''套件删除功能''' data = request.get_json() case_id = data.get('id') if not case_id: return jsonify({ 'status': 400, 'message': 'invalid case_id parameter', 'data': data }) service = Service() data = service.suite_delete(data) return jsonify({'status': 0, 'message': 'ok', 'data': data})
def interface_api_v1_create_suite(): data = request.get_json() if not data.get('case_ids'): return jsonify({ 'status': 400, 'message': 'invalid parameter {case_ids}', 'data': data }) service = Service() result = service.create_suite(data) if '不存在' in result: return jsonify({'status': 400, 'message': result, 'data': data}) return jsonify({'status': 200, 'message': '创建成功', 'data': data})
def api_v1_trigger(): data = request.values.to_dict() case_id = data.get('id') if not case_id: return jsonify({ 'status': 400, 'message': 'invalid case_id parameter', 'data': data }) service = Service() data = service.trigger(data) return jsonify({'status': 0, 'message': 'ok', 'data': data})
def interface_api_v1_search(): data = request.get_json() service = Service() if not data.get('_id'): return jsonify({ 'status': 400, 'message': 'invalid parameter {_id}', 'data': data }) return jsonify({ 'status': 200, 'message': 'ok', 'data': service.get_interface_info(data) })
def api_v1_update(): data = request.get_json() print('data的值是', data) id = data.get('id') print('id的值是', id) if not id: return jsonify({ 'status': 400, 'message': 'invalid id parameter', 'data': data }) service = Service() data = service.interface_update(data) return jsonify({'status': 0, 'message': 'ok', 'data': data})
def api_v1_save(): # 获取前端传来的数据 data = request.get_json() print('前端传递过来的数据是', data) # 数据校验 method和url地址必须要传过来 method = data.get('method') if not method: return jsonify({ 'status': 400, 'message': 'invalid method parameter', 'data': data }) url = data.get('url') if not url: return jsonify({ 'status': 400, 'message': 'invalid url parameter', 'data': data }) # 对数据做逻辑处理 # 给前端返回数据 try: # 把数据保存到数据库中 id = Service().save_cases(data) return jsonify({'status': 0, 'message': 'ok', 'data': id}) except Exception as e: return jsonify({'status': 0, 'message': e, 'data': data})
def api_v1_suite(): # 获取前端传来的数据 data = request.get_json() print('前端传递过来的数据是', data) team = data.get('team') if not team: return jsonify({ 'status': 400, 'message': 'invalid team parameter', 'data': data }) project = data.get('project') if not project: return jsonify({ 'status': 400, 'message': 'invalid project parameter', 'data': data }) cases = data.get('cases') if not cases: return jsonify({ 'status': 400, 'message': 'invalid cases parameter', 'data': data }) # 给前端返回数据 try: # 把数据保存到数据中 id = Service().save_suite(data) return jsonify({'status': 0, 'message': 'ok', 'data': id}) except Exception as e: return jsonify({'status': 0, 'message': e, 'data': data})
def interface_api_v1_delete_suite(): data = request.get_json() service = Service() if not data.get('id_list'): return jsonify({ 'status': 400, 'message': 'invalid parameter {id_list}', 'data': data }) result = service.delete_suite(data) if result == len(data['id_list']): return jsonify({'status': 200, 'message': '删除成功', 'data': data}) else: return jsonify({ 'status': 200, 'message': f'删除成功{result}个,失败{len(data["id_list"]) - result}个', 'data': data })
def interface_api_v1_run_suite(): data = request.get_json() # 为了能让flask的g对象进入,service对象生成必须在视图函数里而不是全局声明 service = Service() if not data.get('id_list'): return jsonify({ 'status': 400, 'message': 'invalid parameter {id_list}', 'data': data }) report_id = service.trigger(data) if report_id: return jsonify({ 'status': 200, 'message': '执行套件成功', 'data': f'报告ID:{report_id}' }) else: return jsonify({'status': 400, 'message': '执行套件失败', 'data': data})
def api_v1_team_and_project(): # 获取前端传来的数据 data = request.values.to_dict() # 给前端返回数据 try: # 把数据保存到数据库中 data = Service().team_and_project(data) return jsonify({'status': 0, 'message': 'ok', 'data': data}) except Exception as e: return jsonify({'status': 0, 'message': e, 'data': data})
def api_v1_debug(): # get请求使用request.values.to_dict接收 # post、put、delete使用request.get_json接收 data = request.get_json() print(data) method = data['request'].get('method', None) if not method: return jsonify({ 'status': 400, 'message': 'invalid parameter [method]', 'data': data, }) host = data['request'].get('host', None) if not host: return jsonify({ 'status': 400, 'message': 'invalid parameter [host]', 'data': data, }) path = data['request'].get('path', None) if not path: return jsonify({ 'status': 400, 'message': 'invalid parameter [path]', 'data': data, }) try: service = Service() data = service.execute(data) return jsonify({ 'status': 0, 'message': 'ok', 'data': data, }) except Exception as error: return jsonify({'status': 500, 'message': str(error), 'data': data})
def api_v1_list(): if request.method == 'GET': data = request.values.to_dict() else: data = request.get_json() try: result = Service().list(data) return jsonify({ 'status': 0, 'message': 'ok', 'data': result, }) except Exception as error: return jsonify({'status': 500, 'message': str(error), 'data': data})
def api_v1_delete(): # 获取前端传来的数据 data = request.get_json() print('前端传递过来的数据是', data) # 数据校验 method和url地址必须要传过来 id_list = data.get('id_list') if not id_list: return jsonify({ 'status': 400, 'message': 'invalid id_list parameter', 'data': data }) # 给前端返回数据 try: # 把数据从数据库中删除 id = Service().delete(data) return jsonify({'status': 0, 'message': 'ok', 'data': id}) except Exception as e: return jsonify({'status': 0, 'message': e, 'data': data})
def interface_api_v1_suite(): data = request.values.to_dict() service = Service() data = service.get_suites(data) return jsonify({'status': 0, 'message': 'ok', 'data': data})
def interface_api_v1_debug(): service = Service() data = request.get_json() return service.debug(data)
def interface_api_v1_delete(): data = request.get_json() service = Service() service.delete_interface(data) return jsonify({'status': 0, 'message': '删除成功', 'data': data['id_list']})
def api_v1_suite_list(): data = request.values.to_dict() print(data) service = Service() data = service.suite_list(data) return jsonify({'status': 0, 'message': 'ok', 'data': data})