예제 #1
0
파일: api.py 프로젝트: jlebon/packit
    def status(self):
        status = Status(self.config, self.package_config, self.up, self.dg)

        ds_prs = status.get_downstream_prs()
        if ds_prs:
            logger.info("Downstream PRs:")
            logger.info(tabulate(ds_prs, headers=["ID", "Title", "URL"]))
        else:
            logger.info("Downstream PRs: No open PRs.")
        status.get_dg_versions()
        status.get_up_releases()
        builds = status.get_builds()
        if builds:
            logger.info("\nLatest builds:")
            for build in builds:
                koji_builds_str = "\n".join(f" - {b}" for b in builds[build])
                logger.info(f"{build}:\n{koji_builds_str}")
        else:
            logger.info("There are no builds.")

        updates = status.get_updates()
        if updates:
            logger.info("\nLatest bodhi updates:")
            logger.info(
                tabulate(updates, headers=["Update", "Karma", "status"]))
예제 #2
0
파일: api.py 프로젝트: jscotka/packit
    def status(self):

        status = Status(self.config, self.package_config)

        status.get_downstream_prs()
        status.get_dg_versions()
        status.get_up_releases()
        status.get_builds()
        status.get_updates()
예제 #3
0
class TestStatus(PackitUnittestOgr):
    def setUp(self):
        super().setUp()
        self.status = Status(self.conf, self.pc, self.upstream, self.dg)

    def test_status(self):
        assert self.status

    def test_distgen_versions(self):
        table = self.status.get_dg_versions()
        assert table
        assert len(table) >= 3

    def test_builds(self):
        table = self.status.get_builds()
        assert table
        assert len(table) >= 2

    def test_updates(self):
        table = self.status.get_updates()
        assert table
        assert len(table) >= 3

    def test_up_releases(self):
        table = self.status.get_up_releases()
        assert len(table) >= 5

    def test_dowstream_pr(self):
        table = self.status.get_downstream_prs()
        assert len(table) == 0
예제 #4
0
def test_get_releases(upstream_instance, distgit_instance, expected_releases):
    u, up = upstream_instance
    d, dg = distgit_instance
    c = get_test_config()
    pc = get_local_package_config(str(u))
    up.local_project.git_project = flexmock()

    flexmock(up.local_project.git_project).should_receive(
        "get_releases").and_return(expected_releases)
    status = Status(c, pc, up, dg)
    releases = status.get_up_releases()
    assert len(releases) == len(expected_releases)
    assert releases == expected_releases
예제 #5
0
class TestStatus(PackitUnittestOgr):
    def setUp(self):
        super().setUp()
        self.cassette.data_miner.key = (
            f'github-{pkg_resources.get_distribution("PyGithub").version}')
        self.cassette.data_miner.data_type = DataTypes.Dict
        self.status = Status(self.conf, self.pc, self.upstream, self.dg)

    def test_status(self):
        assert self.status

    def test_distgen_versions(self):
        table = self.status.get_dg_versions()
        assert table
        assert len(table) >= 3

    def test_koji_builds(self):
        table = self.status.get_koji_builds()
        assert table
        assert len(table) >= 2

    def test_copr_builds(self):
        table = self.status.get_copr_builds()
        assert table
        assert len(table) >= 2

    def test_updates(self):
        table = self.status.get_updates()
        assert table
        assert len(table) >= 3

        # Check if get_updates doesn't return more than one stable update per branch
        stable_branches = []
        for [update, _, status] in table:
            branch = update[-4:]
            if status == "stable":
                stable_branches.append(branch)
        assert len(set(stable_branches)) == len(stable_branches)

    @unittest.skip("The replaying does not work.")
    def test_up_releases(self):
        table = self.status.get_up_releases()
        assert len(table) >= 5

    def test_dowstream_pr(self):
        table = self.status.get_downstream_prs()
        assert len(table) >= 0
예제 #6
0
파일: api.py 프로젝트: G-girl85/packit
    def status(self):
        status = Status(self.config, self.package_config, self.up, self.dg)

        ds_prs = status.get_downstream_prs()
        if ds_prs:
            logger.info("Downstream PRs:")
            logger.info(tabulate(ds_prs, headers=["ID", "Title", "URL"]))
        else:
            logger.info("Downstream PRs: No open PRs.")

        dg_versions = status.get_dg_versions()
        if dg_versions:
            logger.info("Dist-git versions:")
            for branch, dg_version in dg_versions.items():
                logger.info(f"{branch}: {dg_version}")

        up_releases = status.get_up_releases()
        if up_releases:
            logger.info("\nGitHub upstream releases:")
            upstream_releases_str = "\n".join(f"{release.tag_name}"
                                              for release in up_releases)
            logger.info(upstream_releases_str)
        else:
            logger.info("\nGitHub upstream releases: No releases found.")

        builds = status.get_builds()
        if builds:
            logger.info("\nLatest builds:")
            for build in builds:
                koji_builds_str = "\n".join(f" - {b}" for b in builds[build])
                logger.info(f"{build}:\n{koji_builds_str}")
        else:
            logger.info("There are no builds.")

        updates = status.get_updates()
        if updates:
            logger.info("\nLatest bodhi updates:")
            logger.info(
                tabulate(updates, headers=["Update", "Karma", "status"]))
예제 #7
0
class TestStatus(PackitUnittestOgr):
    def setUp(self):
        super().setUp()
        self.status = Status(self.conf, self.pc, self.upstream, self.dg)

    def test_status(self):
        assert self.status

    def test_distgen_versions(self):
        table = self.status.get_dg_versions()
        assert table
        assert len(table) >= 3

    def test_builds(self):
        table = self.status.get_builds()
        assert table
        assert len(table) >= 2

    def test_updates(self):
        table = self.status.get_updates()
        assert table
        assert len(table) >= 3

        # Check if get_updates doesn't return more than one stable update per branch
        stable_branches = []
        for [update, _, status] in table:
            branch = update[-4:]
            if status == "stable":
                stable_branches.append(branch)
        assert len(set(stable_branches)) == len(stable_branches)

    def test_up_releases(self):
        table = self.status.get_up_releases()
        assert len(table) >= 5

    def test_dowstream_pr(self):
        table = self.status.get_downstream_prs()
        assert len(table) == 0