Exemplo n.º 1
0
def query_market_test_report(request):
    """
    市场部 查询测试报告
    :param request:
    :return:
    """
    if request.method == "GET":
        apk_id = int(request.GET.get(const.ID_KEY))
        data = ApkReportDetailController.query_test_report(ApkReportDetail, apk_id)
        return JsonResponse(FormatData.response_data(data=data))
    return JsonResponse(FormatData.response_data(code=FormatData.ERROR_CODE, msg=FormatData.ERROR_MSG))
Exemplo n.º 2
0
def manual_pull_info(request):
    """
    手动拉取 android phone 的信息
    :param request:
    :return:
    """
    if request.method == "GET":
        PullRequestInfoController.write_pull_request_info(PullRequestInfoController.ANDROID_PHONE_PULL_REQUEST_BASE_URI,
                                                          PullRequestInfo)
        return JsonResponse(FormatData.response_data())
    return JsonResponse(FormatData.response_data(code=FormatData.ERROR_CODE, msg=FormatData.ERROR_MSG))
Exemplo n.º 3
0
def cancel_sign(request):
    """
    取消打标
    :param request:
    :return:
    """
    if request.method == "POST":
        apk_id = int(request.POST.get(const.ID_KEY))
        ApkDetailInfoController.cancel_sign(ApkDetailInfo, apk_id)
        return JsonResponse(FormatData.response_data())
    return JsonResponse(FormatData.response_data(code=FormatData.ERROR_CODE, msg=FormatData.ERROR_MSG))
Exemplo n.º 4
0
def update_sign(request):
    """
    更新打标信息
    :param request:
    :return:
    """
    if request.method == "POST":
        apk_id = int(request.POST.get(const.ID_KEY))
        sign = request.POST.get(const.SIGN_KEY)
        ApkDetailInfoController.update_test_sign(ApkDetailInfo, apk_id, sign)
        return JsonResponse(FormatData.response_data())
    return JsonResponse(FormatData.response_data(code=FormatData.ERROR_CODE, msg=FormatData.ERROR_MSG))
Exemplo n.º 5
0
def update_description(request):
    """
    更新测试备注
    :param request:
    :return:
    """
    if request.method == "POST":
        apk_id = int(request.POST.get(const.ID_KEY))
        description = request.POST.get(const.DESCRIPTION_KEY)
        ApkDetailInfoController.update_test_description(ApkDetailInfo, apk_id, description)
        return JsonResponse(FormatData.response_data())
    return JsonResponse(FormatData.response_data(code=FormatData.ERROR_CODE, msg=FormatData.ERROR_MSG))
Exemplo n.º 6
0
def update_test_result(request):
    """
    更新测试结果
    :param request:
    :return:
    """
    if request.method == "POST":
        apk_id = int(request.POST.get(const.ID_KEY))
        test_result = request.POST.get(const.TEST_RESULT_KEY)
        ApkDetailInfoController.update_test_result(ApkDetailInfo, apk_id, test_result)
        return JsonResponse(FormatData.response_data())
    return JsonResponse(FormatData.response_data(code=FormatData.ERROR_CODE, msg=FormatData.ERROR_MSG))
Exemplo n.º 7
0
def sign_pull_request_info(request):
    """
    查看打标的 pull request 信息
    :param request:
    :return:
    """
    if request.method == "GET":
        apk_id = int(request.GET.get(const.ID_KEY))
        pull_request_items = ApkDetailInfoController.query_pull_request_items(ApkDetailInfo, apk_id)
        data = PullRequestInfoController.query_pull_request_items(PullRequestInfo, pull_request_items)
        return JsonResponse(FormatData.response_data(data=data))
    return JsonResponse(FormatData.response_data(code=FormatData.ERROR_CODE, msg=FormatData.ERROR_MSG))
Exemplo n.º 8
0
def query_table_info_where_not_triggered_by_pull_request(request):
    """
    pull request 信息不存在时,页面加载表格信息查询
    :param request:
    :return:
    """
    if request.method == "GET":
        page_num = int(request.GET.get(const.PAGE_NUM_KEY))
        select_word = request.GET.get(const.SELECT_WORD_KEY)
        total, data = BuildInfoController.query_build_info_where_not_triggered_by_pull_request(BuildInfo, page_num,
                                                                                               select_word)
        data = ApkDetailInfoController.query_apk_detail_where_pull_request_id_is_zero(ApkDetailInfo, data)
        return JsonResponse(FormatData.response_data(data=data, total=total))
    return JsonResponse(FormatData.response_data(code=FormatData.ERROR_CODE, msg=FormatData.ERROR_MSG))
Exemplo n.º 9
0
def del_test_report(request):
    """
    删除测试报告
    :param request:
    :return:
    """
    if request.method == "POST":
        report_id = int(request.POST.get(const.ID_KEY))
        apk_id = int(request.POST.get(const.APP_ID_KEY))
        del_ret = ApkReportDetailController.del_test_report(ApkReportDetail, report_id, apk_id)
        if del_ret:
            ApkDetailInfoController.update_test_report_status(ApkDetailInfo, apk_id)
        return JsonResponse(FormatData.response_data())
    return JsonResponse(FormatData.response_data(code=FormatData.ERROR_CODE, msg=FormatData.ERROR_MSG))
Exemplo n.º 10
0
def upload_test_report(request):
    """
    上传测试报告
    :param request:
    :return:
    """
    if request.method == "POST":
        apk_id = int(request.POST.get(const.ID_KEY))
        file_obj = request.FILES.get(const.REPORT_KEY)
        if file_obj is not None:
            ApkReportDetailController.save_test_report(ApkReportDetail, file_obj, apk_id)
            ApkDetailInfoController.update_test_report_status(ApkDetailInfo, apk_id, False)
        return JsonResponse(FormatData.response_data())
    return JsonResponse(FormatData.response_data(code=FormatData.ERROR_CODE, msg=FormatData.ERROR_MSG))
Exemplo n.º 11
0
def query_pull_request_info_of_month(request):
    """
    获得特定时间一个月内的 pull request 信息
    :param request:
    :return:
    """
    if request.method == "GET":
        build_id = request.GET.get(const.BUILD_ID_KEY)
        if build_id is not None:  # 自动build查询 过去四周 pull request
            pull_request_id = BuildInfoController.query_pull_request_id_adopt_build_id(BuildInfo, build_id)
            data = PullRequestInfoController.query_data_of_a_month_at_specific_time(PullRequestInfo, pull_request_id)
        else:  # 手动build查询 过去四周 pull request
            end_time = request.GET.get(const.TIME_KEY).split(".")[0]
            end_time = Utils.time_str_to_datetime_object(end_time)
            data = PullRequestInfoController.query_data_of_a_month_at_specific_time(PullRequestInfo, end_time=end_time)
        return JsonResponse(FormatData.response_data(data=data))
    return JsonResponse(FormatData.response_data(code=FormatData.ERROR_CODE, msg=FormatData.ERROR_MSG))
Exemplo n.º 12
0
def query_market_table_info(request):
    """
    市场部需要展示的包信息
    :param request:
    :return:
    """
    time_format_str = "T01:01:01"
    if request.method == "GET":
        page_num = int(request.GET.get(const.PAGE_NUM_KEY))
        select_word = request.GET.get(const.SELECT_WORD_KEY)
        start_time = request.GET.get(const.START_TIME_KEY)
        start_time = start_time + time_format_str if start_time != "" and start_time is not None and start_time != "null" else None
        end_time = request.GET.get(const.END_TIME_KEY)
        end_time = end_time + time_format_str if end_time != "" and end_time is not None and end_time != "null" else None
        total, data = ApkDetailInfoController.query_market_info(ApkDetailInfo, page_num, select_word, start_time,
                                                                end_time)
        return JsonResponse(FormatData.response_data(data=data, total=total))
    return JsonResponse(FormatData.response_data(code=FormatData.ERROR_CODE, msg=FormatData.ERROR_MSG))
Exemplo n.º 13
0
def download_test_report(request):
    """
    下载测试报告
    :param request:
    :return:
    """
    if request.method == "GET":
        report_id = int(request.GET.get(const.ID_KEY))
        report_obj = ApkReportDetailController.query_need_download_test_report(ApkReportDetail, report_id)
        response = FileResponse(BytesIO(report_obj.test_report_data))
        response['Content-Type'] = 'application/octet-stream'
        response['Content-Disposition'] = 'attachment;filename="{}"'.format(urlquote(report_obj.test_report_name))
        return response
    return JsonResponse(FormatData.response_data(code=FormatData.ERROR_CODE, msg=FormatData.ERROR_MSG))
Exemplo n.º 14
0
def jenkins_info(request):
    """
    jenkins build完成后,消息通知,build msg获取
    :param request:
    :return:
    """
    print(request.POST)
    jenkins_object = Jenkins(JENKINS_URL, USER, PASSWORD)
    if request.method == 'POST':
        request_list = request.POST.get('url').split('/')
        job_name = request_list[-3]
        build_num = request_list[-2]
        job = jenkins_object[job_name]
        build_info = job.get_build(int(build_num))
        build_msg = build_info.get_params()
        data = {
            **build_msg,
            **{
                "success": build_info.is_good(),
                "jenkinsNum": build_num,
                "jobName": job_name
            }
        }
        print(data)
        name = data.get(NAME_KEY)
        if name == 'Mapa2_Android_phone':  # android phone 逻辑

            BuildInfoController(data).write_build_info(
                android_phone_package_manager_server.models.BuildInfo,
                Commit.ANDROID_PHONE_COMMIT_BASE_URI)
            ApkDetailInfoController(data).write_apk_detail_info(
                android_phone_package_manager_server.models.ApkDetailInfo)

        if name == 'Mapa2_ARM_MTK_xiaozhuo':
            BuildInfoController(data).write_build_info(
                mapa_package_manager_server.models.BuildInfo,
                Commit.MAPA_COMMIT_BASE_URI)
            ApkDetailInfoController(data).write_apk_detail_info(
                mapa_package_manager_server.models.ApkDetailInfo)

            # data = JenkinsInfo(data).write_jenkins_info()

        return HttpResponse(FormatData.response_data(data=data))