From 81b199a92d7dd7563652595bb032f0132bc60d61 Mon Sep 17 00:00:00 2001 From: Jan Kaluza Date: Apr 13 2018 12:19:59 +0000 Subject: Do not split empty CVE string, because it results in [''] CVE list. --- diff --git a/freshmaker/errata.py b/freshmaker/errata.py index ab77a9a..d786af3 100644 --- a/freshmaker/errata.py +++ b/freshmaker/errata.py @@ -50,7 +50,6 @@ class ErrataAdvisory(object): self.security_impact = security_impact or "" self.product_short_name = product_short_name or "" self.cve_list = cve_list or [] - self.highest_cve_severity = None sec_data = SecurityDataAPI() self.highest_cve_severity = sec_data.get_highest_threat_severity( @@ -68,12 +67,16 @@ class ErrataAdvisory(object): erratum_data = erratum_data[0] product_data = errata._get_product(erratum_data["product_id"]) + cve = data["content"]["content"]["cve"].strip() + if cve: + cve_list = cve.split(" ") + else: + cve_list = [] return ErrataAdvisory( erratum_data["id"], erratum_data["fulladvisory"], erratum_data["status"], erratum_data['content_types'], erratum_data["security_impact"], - product_data["product"]["short_name"], - data["content"]["content"]["cve"].split(" ")) + product_data["product"]["short_name"], cve_list) class Errata(object): diff --git a/tests/test_errata.py b/tests/test_errata.py index 48871fd..f66ed92 100644 --- a/tests/test_errata.py +++ b/tests/test_errata.py @@ -170,6 +170,17 @@ class TestErrata(helpers.FreshmakerTestCase): @patch.object(Errata, "_errata_rest_get") @patch.object(Errata, "_errata_http_get") + def test_advisories_from_event_empty_cve( + self, errata_http_get, errata_rest_get): + mocked_errata = MockedErrataAPI(errata_rest_get, errata_http_get) + mocked_errata.advisory_rest_json["content"]["content"]["cve"] = "" + event = BrewSignRPMEvent("msgid", "libntirpc-1.4.3-4.el7rhgs") + advisories = self.errata.advisories_from_event(event) + self.assertEqual(len(advisories), 1) + self.assertEqual(advisories[0].cve_list, []) + + @patch.object(Errata, "_errata_rest_get") + @patch.object(Errata, "_errata_http_get") def test_advisories_from_event_missing_all_errata(self, errata_http_get, errata_rest_get): mocked_errata = MockedErrataAPI(errata_rest_get, errata_http_get) del mocked_errata.builds["libntirpc-1.4.3-4.el7rhgs"]["all_errata"]