コード例 #1
0
ファイル: Product.py プロジェクト: zlychelsea/TestKiss
def module_add():
    r = request.form
    pm = ProductModule()
    pd = r.get('pd', '')
    pid = r.get('pid', '')
    name = r.get('name', '')
    nt = r.get('nt', '')
    if pd == "" or pid == "" or name == "" or nt == "":
        return common_response(data='', err=500, msg="参数错误,请检查!")
    _id = get_mongo_index('product_module_index')
    d = {
        "_id": _id,
        "pd": pd,
        "name": name,
        "pid": pid,
        "nt": nt,
        "st": _id,
        "create_time": time.time(),
        "update_time": time.time()
    }
    try:
        data = pm.table.insert_one(d)
        return common_response(data={"_id": data.inserted_id}, err=0, msg="添加模块成功!")
    except Exception as e:
        app.logger.error(str(e))
        return common_response(data='', err=500, msg=e)
コード例 #2
0
ファイル: Product.py プロジェクト: zlychelsea/TestKiss
def version():
    r = request
    pv = ProductVersion()
    if r.method == 'POST':
        r = request.form
        product_id = r.get('product_id', '')
        ver = r.get('version', '')
        if product_id.strip() == "":
            return common_response(data='', err=500, msg="产品ID不能为空!")
        if ver.strip() == "":
            return common_response(data='', err=500, msg="产品版本不能为空!")
        product_version = pv.table.find_one({"pd": product_id, "ver": ver})
        if product_version is not None:
            return common_response(data='', err=500, msg="产品版本已存在!")
        d = {
            "_id": get_mongo_index('product_version_index'),
            "pd": product_id,
            "ver": ver
        }
        try:
            data = pv.table.insert_one(d)
            return common_response(data={"_id": data.inserted_id}, err=0, msg="添加产品版本成功!")
        except Exception as e:
            app.logger.error(str(e))
            return common_response(data='', err=500, msg="添加产品版本失败!")
コード例 #3
0
ファイル: Product.py プロジェクト: zlychelsea/TestKiss
def add():
    r = request.form
    pd = Product()
    name = r.get('name', None)
    if name is None:
        return common_response(data={}, err=500, msg='缺少产品名称!')
    check = pd.table.find_one({"name": name})
    if check is not None:
        return common_response(data=check, err=500, msg='产品名称已存在!')
    try:
        d = {
            "_id": get_mongo_index('products'),
            "name": name,
            "category": r.get('category', None),
            "link": r.get('link', None),
            "desc": r.get('desc', None),
            "owner": current_user.username,
            "create_time": time.time(),
            "update_time": time.time()
        }
        _id = pd.table.insert_one(d)
        return common_response(data={"_id": _id.inserted_id, "name": name}, err=0, msg='产品添加成功!')
    except Exception as e:
        app.logger.error(str(e))
        return common_response(data={}, err=500, msg=e)
コード例 #4
0
def add():
    pl = Plan()
    pv = ProductVersion()
    if request.method == "GET":
        r = request.args
        pd = Product()
        product_id = r.get('product_id', '')
        pd_ver = pv.table.find({"pd": product_id}, {"ver": 1}).sort([("_id", -1)]).limit(20)
        prod = pd.table.find_one({"_id": int(product_id)})
        return render_template('plan/plan.add.html', product=prod, versions=pd_ver)

    if request.method == "POST":
        r = request.form
        name = r.get('plan_name', '')
        product_id = r.get('product_id', '')
        pd_ver = r.get('pd_ver', '')
        plan_type = r.get('plan_type', '')
        plan_detail = r.get('plan_detail', '')
        err = {}
        if name.strip() == "":
            err['name'] = "计划名称不能为空!"
        if product_id.strip() == "":
            err['product_id'] = "产品ID不能为空!"
        if pd_ver.strip() == "":
            err['pd_ver'] = "产品版本不能为空!"
        if plan_type.strip() == "":
            err['plan_type'] = "计划类型不能为空!"
        if plan_detail.strip() == "":
            err['plan_detail'] = "计划详情不能为空!"
        if len(err) > 0:
            return common_response(data=err, err=500, msg="参数错误,请查看接口返回!")
        try:
            d = {
                "_id": get_mongo_index('plans'),
                "name": name,
                "pd": product_id,
                "pd_ver": pd_ver,
                "type": plan_type,
                "detail": plan_detail,
                "author": current_user.username,
                "create_time": time.time(),
                "update_time": time.time()
            }
            data = pl.table.insert_one(d)
            return common_response(data={"_id": data.inserted_id}, err=0, msg="添加成功!")
        except Exception as e:
            app.logger.error(str(e))
            return common_response(data='', err=500, msg='添加失败')
コード例 #5
0
 def query_or_add(self, product_id, name, pid, nt):
     tb = self.table
     r = tb.find_one({"pd": str(product_id), "pid": str(pid), "name": name})
     if r is not None:
         return str(r["_id"])
     else:
         _id = get_mongo_index('product_module_index')
         d = {
             "_id": _id,
             "pd": str(product_id),
             "name": name,
             "pid": str(pid),
             "nt": nt,
             "st": _id,
             "create_time": time.time(),
             "update_time": time.time()
         }
         r = tb.insert_one(d)
         return str(r.inserted_id)
コード例 #6
0
ファイル: Run.py プロジェクト: zlychelsea/TestKiss
def add():
    if request.method == "GET":
        r = request.args
        product_id = r.get('product_id', '')
        plan_id = r.get('plan_id', '')
        if product_id.strip() == '':
            flash("产品ID不存在!")
            return redirect(url_for('plan.product'))
        if plan_id.strip() == "":
            flash("计划不存在,请重新选择!")
            return redirect(request.referrer)
        pd = Product()
        pl = Plan()
        product = pd.table.find_one({"_id": int(product_id)})
        plan_ = pl.table.find_one({"_id": int(plan_id)})
        if product is None:
            return redirect(url_for('case.dashboard'))
        pm = ProductModule()
        modules = pm.get_module_tree({"pd": str(product_id)}, 'all')
        return render_template('run/run.add.html',
                               product=product,
                               modules=modules,
                               plan=plan_)

    if request.method == "POST":
        r = request.form
        rc = Run()
        product_id = r.get("product_id", "")
        plan_id = r.get("plan_id", "")
        run_name = r.get('run_name', '')
        assign_to = r.get('assign_to', '')
        cid = r.get('cid', '')
        err = {}
        if product_id.strip() == "":
            err['product_id'] = "产品ID 不能为空!"
        if plan_id.strip() == "":
            err['plan_id'] = "计划ID 不能为空!"
        if run_name.strip() == "":
            err["run_name"] = "执行名称不能为空!"
        if assign_to.strip() == "":
            err['assign_to'] = "用例执行者不能为空!"
        if cid.strip() == "":
            err['cit'] = "选择用例为空,请先选择用例!"
        if len(err) > 0:
            return common_response(data=err, err=500, msg="参数错误,请查看接口返回!")
        cases = cid.split(',')
        ids = list(map(int, cases))
        detail = {}
        for case in cases:
            detail[case] = {
                "stat": "init",
                "comment": "",
                "bugs": "",
                "update_time": ""
            }
        case_count = len(cases)
        progress = {
            "init": {
                "name": "待执行",
                "count": case_count
            },
            "stop": {
                "name": "暂停",
                "count": 0
            },
            "abort": {
                "name": "废弃",
                "count": 0
            },
            "fail": {
                "name": "失败",
                "count": 0
            },
            "pass": {
                "name": "通过",
                "count": 0
            },
            "total": {
                "name": "总数",
                "count": case_count
            },
            "percent": {
                "name": "百分比",
                "count": "0%"
            }
        }
        d = {
            "_id": get_mongo_index('run_index'),
            "pd": product_id,
            "pl": plan_id,
            "name": run_name,
            "assign": assign_to,
            "stat": "未开始",
            "progress": progress,
            "start_time": "",
            "end_time": "",
            "ids": ids,
            "detail": detail
        }
        try:
            data = rc.table.insert_one(d)
            return common_response(data={"_id": data.inserted_id},
                                   err=0,
                                   msg="添加执行成功!")
        except Exception as e:
            app.logger.error(str(e))
            return common_response(data='', err=500, msg=str(e))
コード例 #7
0
ファイル: Product.py プロジェクト: zlychelsea/TestKiss
def categories():
    pc = ProductCategory()
    if request.method == "GET":
        r = request.args
        page = r.get('page', 1)
        if page is None:
            page = 1
        data = pc.get_list({}, int(page))
        params = get_query_url(request)
        return render_template('product/categories.html', categories=data, url=request.path, params=params)

    if request.method == "POST":
        r = request.form
        try:
            check = pc.table.find_one({"name": r.get('name')})
            if check is not None:
                return common_response(data='', err=500, msg="产品分类已经存在!")
            if r.get('name') is None:
                return common_response(data='', err=500, msg="产品分类不能为空!")
            d = {
                "_id": get_mongo_index('product_category_index'),
                "name": r.get('name'),
                "desc": r.get('desc'),
                "create_time": time.time(),
                "update_time": time.time()
            }
            pc.table.insert(d)
            return common_response(data={}, err=0, msg="添加成功!")
        except Exception as e:
            app.logger.error(str(e))
            return common_response(data='', err=500, msg=e)

    if request.method == "PUT":
        r = request.form
        _id = r.get('_id', None)
        if _id is None:
            return common_response(data='', err=500, msg="_id不能为空!")

        query = {"_id": int(_id)}
        _update = {"$set": {
            "name": r.get('name'),
            "desc": r.get('desc'),
            "update_time": time.time()
            }
        }
        try:
            pc.table.update_one(query, _update)
            return common_response(data={}, err=0, msg="更新成功")
        except Exception as e:
            app.logger.error(str(e))
            return common_response(data='', err=500, msg=e)

    if request.method == "DELETE":
        r = request.form
        _id = r.get('_id')
        if _id is None:
            return common_response(data='', err=500, msg="id不能为空!")
        try:
            pc.table.delete_one({"_id": int(_id)})
            return common_response(data='', err=0, msg="删除成功")
        except Exception as e:
            app.logger.err(e)
            return common_response(data='', err=500, msg="删除失败!")