def run_api(request): """ run api by body """ name = request.data.pop('config') host = request.data.pop("host") api = Format(request.data) api.parse() config = None if name != '请选择': try: config = eval( models.Config.objects.get(name=name, project__id=api.project).body) except ObjectDoesNotExist: logger.error("指定配置文件不存在:{name}".format(name=name)) return Response(config_err) if host != "请选择": host = models.HostIP.objects.get( name=host, project__id=api.project).value.splitlines() api.testcase = parse_host(host, api.testcase) summary = loader.debug_api(api.testcase, api.project, name=api.name, config=parse_host(host, config), user=request.user) return Response(summary)
def run_api(request): """ run api by body """ name = request.data.pop('config') host = request.data.pop("host") timestamp = request.data.pop("timestamp") api = Format(request.data) api.parse() logger_file = log_file + '/' + str(timestamp) + '.log' config = None if name != '请选择': try: config = eval( models.Config.objects.get(name=name, project__id=api.project).body) except ObjectDoesNotExist: logger.error("指定配置文件不存在:{name}".format(name=name)) return Response(config_err) if host != "请选择": host = models.HostIP.objects.get( name=host, project__id=api.project).value.splitlines() api.testcase = parse_host(host, api.testcase) try: summary = loader.debug_api(api.testcase, api.project, name=api.name, config=parse_host(host, config), user=request.user, log_file=logger_file) if summary is None: with open(logger_file, 'r') as r: msg = r.readlines() summary = msg return Response({"error": summary}) return Response(summary) except Exception as e: return Response({"error": "404"}) finally: '''删除调试脚本的日志文件''' delfile(logger_file)