From 9efe378d0d449276c7d3c50632d33a24f9533ebf Mon Sep 17 00:00:00 2001 From: Mariana Ulaieva Date: May 25 2020 07:09:59 +0000 Subject: Store the Freshmaker event in the Lightblue class Store the Freshmaker event as a member variable in the LightBlue class. --- diff --git a/freshmaker/handlers/koji/rebuild_images_on_rpm_advisory_change.py b/freshmaker/handlers/koji/rebuild_images_on_rpm_advisory_change.py index 17324a4..96996ae 100644 --- a/freshmaker/handlers/koji/rebuild_images_on_rpm_advisory_change.py +++ b/freshmaker/handlers/koji/rebuild_images_on_rpm_advisory_change.py @@ -397,8 +397,8 @@ class RebuildImagesOnRPMAdvisoryChange(ContainerBuildHandler): # content sets lb = LightBlue(server_url=conf.lightblue_server_url, cert=conf.lightblue_certificate, - private_key=conf.lightblue_private_key) - + private_key=conf.lightblue_private_key, + event_id=self.event.msg_id) # Check if we are allowed to rebuild unpublished images and clear # published and release_categories if so. if self.event.is_allowed(self, published=True): diff --git a/freshmaker/lightblue.py b/freshmaker/lightblue.py index 4a250a8..d3b60ce 100644 --- a/freshmaker/lightblue.py +++ b/freshmaker/lightblue.py @@ -428,7 +428,8 @@ class LightBlue(object): def __init__(self, server_url, cert, private_key, verify_ssl=None, - entity_versions=None): + entity_versions=None, + event_id=None): """Initialize LightBlue instance :param str server_url: URL used to call LightBlue APIs. It is @@ -446,6 +447,7 @@ class LightBlue(object): """ self.server_url = server_url.rstrip('/') self.api_root = '{}/rest/data'.format(self.server_url) + self.event_id = event_id if verify_ssl is None: self.verify_ssl = True else: diff --git a/tests/test_lightblue.py b/tests/test_lightblue.py index 9f0b281..b5b10b8 100644 --- a/tests/test_lightblue.py +++ b/tests/test_lightblue.py @@ -29,12 +29,14 @@ from unittest.mock import call, patch, Mock import freshmaker +from freshmaker.events import ErrataAdvisoryRPMsSignedEvent from freshmaker.lightblue import ContainerImage from freshmaker.lightblue import ContainerRepository from freshmaker.lightblue import LightBlue from freshmaker.lightblue import LightBlueRequestError from freshmaker.lightblue import LightBlueSystemError from freshmaker.utils import sorted_by_nvr +from freshmaker.errata import ErrataAdvisory from tests import helpers @@ -754,12 +756,25 @@ class TestQueryEntityFromLightBlue(helpers.FreshmakerTestCase): "target2", {"git_branch": "mybranch"}], ["git://pkgs.devel.redhat.com/rpms/repo-1#commit_hash1", "target1", {"git_branch": "mybranch"}]] + self.event = ErrataAdvisoryRPMsSignedEvent( + "123", + ErrataAdvisory(123, "RHBA-2017", "REL_PREP", [], + security_impact="", + product_short_name="product")) def tearDown(self): super(TestQueryEntityFromLightBlue, self).tearDown() self.patcher.unpatch_all() self.koji_read_config_patcher.stop() + @patch('os.path.exists', return_value=True) + def test_LightBlue_returns_event(self, exists): + lb = LightBlue(server_url=self.fake_server_url, + cert=self.fake_cert_file, + private_key=self.fake_private_key, + event_id=self.event.msg_id) + assert lb.event_id == self.event.msg_id + @patch('freshmaker.lightblue.requests.post') def test_find_container_images(self, post): post.return_value.status_code = http.client.OK