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"]))
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()
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
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
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
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"]))
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