示例#1
0
def delete_module():
    p_id = request.json.get('id')
    if not p_id.isdigit():
        raise JsonValidateError()
    project = ModuleInfo.get(int(p_id))
    if not project:
        raise JsonValidateError()
    try:
        ModuleInfo.delete(p_id)
        return jsonify({'msg': '成功'})
    except DatabaseException:
        raise JsonDatabaseError('数据库异常')
示例#2
0
def delete_case():
    c_id = request.json.get('id')
    if not c_id.isdigit():
        raise JsonValidateError()
    project = CaseInfo.get(int(c_id))
    if not project:
        raise JsonValidateError()
    try:
        CaseInfo.delete(c_id)
        return jsonify({'msg': '删除成功'})
    except DatabaseException:
        raise JsonDatabaseError('数据库异常')
示例#3
0
def delete_project():
    # 获取id
    # current_user == User()
    p_id = request.json.get('id')
    if not p_id.isdigit():
        raise JsonValidateError()
    project = ProjectInfo.get(int(p_id))
    if not project:
        raise JsonValidateError()
    try:
        ProjectInfo.delete(p_id)
        return jsonify({'msg': '成功'})
    except DatabaseException:
        raise JsonDatabaseError('数据库异常')
示例#4
0
def delete_suite():
    p_id = request.json.get('id')
    if not p_id.isdigit():
        raise JsonValidateError()
    project = SuiteInfo.get(int(p_id))
    if not project:
        raise JsonValidateError()
    # form = ModuleDeleteForm(obj=request.json)
    # if not form.validate():
    #     raise JsonValidateError()
    try:
        SuiteInfo.delete(p_id)
        return jsonify({'msg': '成功'})
    except DatabaseException:
        raise JsonDatabaseError('数据库异常')
示例#5
0
def edit_suite(s_id=None):
    req = request.json or {}
    # 转成字符串,不然解析只能得到一个字典,而不是一个列表。
    includes = str(req['includes']) if 'includes' in req else ''
    req['includes'] = includes.replace("'", '"')
    form = SuiteAddForm(data=req)
    # 添加接口所属项目可选项
    project_choices = ProjectInfo.all()

    suite = SuiteInfo.get(s_id)
    if suite is None:
        return render_template('suites.html',
                               form=form,
                               projects=project_choices)
    # form.project_id.choices.extend([(str(p.id), p.project_name) for p in project_choices])
    if request.method == 'GET':
        cases = json.loads(suite.includes)
        return render_template('suite_edit.html',
                               form=form,
                               projects=project_choices,
                               suite=suite,
                               cases=cases)

    if not form.validate():
        msg = ''
        for k, v in form.errors.items():
            msg = msg.join([k, ':', v[0], '; '])
        raise JsonValidateError(msg)

    SuiteInfo.update_by_form(form)
    return jsonify({'msg': '操作成功'})
示例#6
0
def modules_by_project_id(p_id):
    current_app.logger.warn('正在进行module')
    project = ProjectInfo.get(p_id)
    if project is None:
        raise JsonValidateError()
    modules = project.module_records # status=1
    return jsonify({"data": [{"id": m.id, "name": m.module_name} for m in modules]})
示例#7
0
def create_case():
    form = CaseInfoForm(data=request.json)
    project_choice = ProjectInfo.all()
    if request.method == 'GET':
        return render_template('case.html', form=form, project=project_choice)
    if not form.validate():
        # 返回 msg 信息
        msg = ''
        for k, v in form.errors.items():
            msg = msg.join([k, ':', v[0], '; '])
        raise JsonValidateError(msg)
    # 保存
    CaseInfo.save_by_form(form.data)
    return jsonify({"msg": '操作成功'})
示例#8
0
def create_suite():
    req = request.json or {}
    # 转成字符串,不然解析只能得到一个字典,而不是一个列表。
    includes = str(req['includes']) if 'includes' in req else ''
    req['includes'] = includes.replace("'", '"')
    form = SuiteAddForm(data=req)
    # 添加接口所属项目可选项
    project_choices = ProjectInfo.all()
    # wtf 渲染方式:form.project_id.choices.extend([(str(p.id), p.project_name) for p in project_choices])
    if request.method == 'GET':
        return render_template('suite.html',
                               form=form,
                               projects=project_choices)

    if not form.validate():
        msg = ''
        for k, v in form.errors.items():
            msg = msg.join([k, ':', v[0], '; '])
        raise JsonValidateError(msg)

    SuiteInfo.add_by_form(form)
    return jsonify({'msg': '操作成功'})
示例#9
0
    cases = paginate.items
    return render_template('cases.html', cases=cases, paginate=paginate)


@web.route('/get_case/<int:c_id>')
@login_required
def get_case(c_id=None):
    return 'get case '


@web.route('/edit_case/<int:c_id>', methods=['GET', 'POST'])
@login_required
def edit_case(c_id=None):
    case = CaseInfo.get(c_id)
    if not case:
        raise JsonValidateError()
    form = CaseInfoForm(obj=case)
    if request.method == 'GET':
        project_choice = ProjectInfo.all()
        return render_template('case_edit.html',
                               form=form,
                               project=project_choice,
                               case=case)
    if not form.validate():
        msg = ''
        for k, v in form.errors.items():
            msg = msg.join([k, ':', v[0], '; '])
        raise JsonValidateError(msg)
    case.update(form.data)
    return jsonify({"msg": '操作成功'})
示例#10
0
def cases_by_module(m_id):
    module = ModuleInfo.get(m_id)
    if module is None:
        raise JsonValidateError()
    cases = module.case_records
    return jsonify({"data": [{"id": c.id, "name": c.name} for c in cases]})