def test_get_forge(clean_before_and_after, multiple_forge_projects): projects = list(GitProjectModel.get_forge(0, 10, "github.com")) assert projects assert len(projects) == 2 projects = list(GitProjectModel.get_forge(0, 10, "gitlab.com")) assert len(projects) == 1 projects = list(GitProjectModel.get_forge(0, 10, "git.stg.centos.org")) assert len(projects) == 1
def get(self, forge): """List of projects of given forge (e.g. github.com, gitlab.com)""" result = [] first, last = indices() for project in GitProjectModel.get_forge(first, last, forge): project_info = { "namespace": project.namespace, "repo_name": project.repo_name, "project_url": project.project_url, "prs_handled": len(project.pull_requests), "branches_handled": len(project.branches), "releases_handled": len(project.releases), "issues_handled": len(project.issues), } result.append(project_info) if not result: return response_maker([]) resp = response_maker( result, status=HTTPStatus.PARTIAL_CONTENT.value, ) resp.headers["Content-Range"] = f"git-projects {first + 1}-{last}/*" return resp