Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)