Esempio n. 1
0
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
Esempio n. 2
0
    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