From a74bd156120fa5211ce4587e11a6a72576b0986e Mon Sep 17 00:00:00 2001 From: FrantiĊĦek Zatloukal Date: Nov 10 2020 08:19:51 +0000 Subject: Support two digit EPEL releases Fixes https://pagure.io/fedora-qa/oraculum/issue/81 --- diff --git a/oraculum/utils/dashboard_helpers.py b/oraculum/utils/dashboard_helpers.py index dda2312..f8c3e4a 100644 --- a/oraculum/utils/dashboard_helpers.py +++ b/oraculum/utils/dashboard_helpers.py @@ -182,18 +182,21 @@ def release_from_dist(dist): """ releases = CACHE.get("fedora_releases") dist = dist.replace("~bootstrap", "") - if "el" in dist or "epel" in dist.lower(): - return "EPEL %s" % dist[-1:] + dist = dist.lower() + if "el" in dist or "epel" in dist: + dist = dist.replace("epel", "").replace("el", "") + return "EPEL %s" % dist # Let's check if it's Fedora branch at all re_rule = re.compile(r'^f.\d+$') - if not re_rule.match(dist.lower()): + if not re_rule.match(dist): return "Fedora Unknown" - if int(dist[-2:]) == releases["rawhide"]: + dist = dist.replace("fc", "").replace("f", "") + if int(dist) == releases["rawhide"]: return "Fedora Rawhide" - return "Fedora %s" % dist[-2:] + return "Fedora %s" % dist def release_is_active(release_string): diff --git a/tests/test_packager_dashboard_helpers.py b/tests/test_packager_dashboard_helpers.py index 5f48ee9..9d9cd08 100644 --- a/tests/test_packager_dashboard_helpers.py +++ b/tests/test_packager_dashboard_helpers.py @@ -15,19 +15,21 @@ class TestDashboardHelpers(object): "stable": 97, "branched": 98, "rawhide": 99, - "values": [96, 97, 98, 99] + "values": [96, 97, 98, 99, 999] } def test_release_is_active(self, monkeypatch): # Force EPEL Releases for tests # This is usually defined in settings.py by real values, so we can't put it in config.py TEST block - app.config["EPEL_RELEASES"] = [1, 2] + app.config["EPEL_RELEASES"] = [1, 2, 99] monkeypatch.setattr(CACHE, 'get', mock.MagicMock(return_value=self.stub_fedora_releases)) assert dashboard_helpers.release_is_active("Fedora Rawhide") assert dashboard_helpers.release_is_active("Fedora 97") + assert dashboard_helpers.release_is_active("Fedora 999") assert dashboard_helpers.release_is_active("EPEL 1") + assert dashboard_helpers.release_is_active("EPEL 99") assert not dashboard_helpers.release_is_active("Fedora 91") assert not dashboard_helpers.release_is_active("EPEL 3")