Skip to content

Commit

Permalink
Rebuild for Zstream Flatpak module errata
Browse files Browse the repository at this point in the history
JIRA: RHELWF-8519
  • Loading branch information
chuazhan authored and qixiang committed Jun 29, 2023
1 parent bd78bd5 commit 14fe6da
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 1 deletion.
26 changes: 25 additions & 1 deletion freshmaker/errata.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,8 @@ def is_flatpak_module_advisory_ready(self):
"-hidden-" in repo_id
for repo_id in errata.get_pulp_repository_ids(self.errata_id)
) and
errata.builds_signed(self.errata_id)
errata.builds_signed(self.errata_id) and
errata.is_zstream(self.errata_id)
)


Expand Down Expand Up @@ -479,3 +480,26 @@ def get_attached_build_nvrs(self, errata_id):
for build in builds
for nvr in build.keys()
}

def _get_release(self, errata_id):
"""
Returns release for the specified advisory.
:param number errata_id: ID of advisory
:return: a dict for release data
:rtype: dict
"""

# Get the release ID of this advisory
data = self._get_advisory_legacy(errata_id)
release_id = data["release"]["id"]

# Get release with the release ID.
release = self._errata_rest_get("releases/%s" % str(release_id))

return release

def is_zstream(self, errata_id):
release = self._get_release(errata_id)
return release["data"]["attributes"]["type"] == "Zstream"
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,19 @@ def setUp(self):
self.builds_signed = self._patch("freshmaker.errata.Errata.builds_signed")
self.builds_signed.return_value = True

self._get_release = self._patch("freshmaker.errata.Errata._get_release")
self._get_release.return_value = {
"data": {
"id": 557,
"type": "releases",
"attributes": {
"name": "release-example",
"description": "For tests",
"type": "Zstream",
}
}
}

self.from_advisory_id = self._patch(
"freshmaker.errata.ErrataAdvisory.from_advisory_id"
)
Expand Down Expand Up @@ -174,6 +187,32 @@ def test_no_event_from_signing_message_for_unsigned(self):
event = self.consumer.get_abstracted_msg(msg)
self.assertEqual(event, None)

def test_no_event_from_signing_message_for_non_zstream(self):
self._get_release.return_value = {
"data": {
"id": 557,
"type": "releases",
"attributes": {
"name": "release-example",
"description": "For tests",
"type": "QuarterlyUpdate",
},
}
}
self.assertEqual(self.advisory.is_flatpak_module_advisory_ready(), False)

msg = {
"msg_id": "fake-msg-id",
"topic": "/topic/VirtualTopic.eng.errata.activity.signing",
"msg": {
"content_types": ["module"],
"errata_status": "QE",
"errata_id": 123,
},
}
event = self.consumer.get_abstracted_msg(msg)
self.assertEqual(event, None)

def test_event_from_state_change_message(self):
advisory = ErrataAdvisory(123, "RHSA-123", "QE", ["module"], "Critical")
self.from_advisory_id.return_value = advisory
Expand Down

0 comments on commit 14fe6da

Please sign in to comment.