def test_get_project_prs(clean_before_and_after, a_copr_build_for_pr): prs_a = GitProjectModel.get_project_prs(0, 10, "github.com", "the-namespace", "the-repo-name") assert prs_a is not None assert len(prs_a) == 1 assert prs_a[ 0].id is not None # cant explicitly check because its random like prs_b = GitProjectModel.get_project_prs(0, 10, "gitlab.com", "the-namespace", "the-repo-name") assert prs_b is None prs_c = GitProjectModel.get_project_prs(0, 10, "github", "the-namespace", "the-repo-name") assert prs_c is None
def get(self, forge, namespace, repo_name): """List PRs""" result = [] first, last = indices() pr_list = GitProjectModel.get_project_prs(first, last, forge, namespace, repo_name) if not pr_list: return response_maker([]) for pr in pr_list: pr_info = { "pr_id": pr.pr_id, "builds": [], "tests": [], } copr_builds = [] test_runs = [] for build in pr.get_copr_builds(): build_info = { "build_id": build.build_id, "chroot": build.target, "status": build.status, "web_url": build.web_url, } copr_builds.append(build_info) pr_info["builds"] = copr_builds for test_run in pr.get_test_runs(): test_info = { "pipeline_id": test_run.pipeline_id, "chroot": test_run.target, "status": str(test_run.status), "web_url": test_run.web_url, } test_runs.append(test_info) pr_info["tests"] = test_runs result.append(pr_info) resp = response_maker( result, status=HTTPStatus.PARTIAL_CONTENT, ) resp.headers["Content-Range"] = f"git-project-prs {first + 1}-{last}/*" return resp