示例#1
0
 def get(self, forge, namespace, repo_name):
     """Project branches"""
     branches = GitProjectModel.get_project_branches(
         forge, namespace, repo_name)
     if not branches:
         return response_maker([])
     result = []
     for branch in branches:
         branch_info = {
             "branch": branch.name,
             "builds": [],
             "tests": [],
         }
         for build in branch.get_copr_builds():
             build_info = {
                 "build_id": build.build_id,
                 "chroot": build.target,
                 "status": build.status,
                 "web_url": build.web_url,
             }
             branch_info["builds"].append(build_info)
         result.append(branch_info)
         for test_run in branch.get_test_runs():
             test_info = {
                 "pipeline_id": test_run.pipeline_id,
                 "chroot": test_run.target,
                 "status": test_run.status,
                 "web_url": test_run.web_url,
             }
             branch_info["tests"].append(test_info)
     return response_maker(result)
示例#2
0
    def get(self, forge, namespace, repo_name):
        """Project branches"""
        branches = GitProjectModel.get_project_branches(
            forge, namespace, repo_name)
        if not branches:
            return response_maker([])
        result = []
        for branch in branches:
            branch_info = {
                "branch": branch.name,
                "builds": [],
                "koji_builds": [],
                "srpm_builds": [],
                "tests": [],
            }

            for build in branch.get_copr_builds():
                build_info = {
                    "build_id": build.build_id,
                    "chroot": build.target,
                    "status": build.status,
                    "web_url": build.web_url,
                }
                branch_info["builds"].append(build_info)

            for build in branch.get_koji_builds():
                build_info = {
                    "build_id": build.build_id,
                    "chroot": build.target,
                    "status": build.status,
                    "web_url": build.web_url,
                }
                branch_info["koji_builds"].append(build_info)

            for build in branch.get_srpm_builds():
                build_info = {
                    "srpm_build_id":
                    build.id,
                    "success":
                    build.success,
                    "log_url":
                    url_for("builds.get_srpm_build_logs_by_id",
                            id_=build.id,
                            _external=True),
                }
                branch_info["srpm_builds"].append(build_info)

            for test_run in branch.get_test_runs():
                test_info = {
                    "pipeline_id": test_run.pipeline_id,
                    "chroot": test_run.target,
                    "status": test_run.status,
                    "web_url": test_run.web_url,
                }
                branch_info["tests"].append(test_info)
            result.append(branch_info)

        return response_maker(result)
示例#3
0
def test_get_project_branch(clean_before_and_after,
                            a_copr_build_for_branch_push):
    branches_list = GitProjectModel.get_project_branches(
        "github.com", "the-namespace", "the-repo-name")
    assert len(branches_list) == 1
    assert branches_list[0].name == "build-branch"