Skip to content

Commit

Permalink
Add OpenScanHub task finished message (#113)
Browse files Browse the repository at this point in the history
  • Loading branch information
majamassarini authored Oct 15, 2024
2 parents 4f9b810 + 5d8c890 commit 3656359
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 0 deletions.
12 changes: 12 additions & 0 deletions packit_service_fedmsg/callbacks.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,17 @@ def _anitya_version_update(topic: str, event: dict, packit_user: str) -> Callbac
)


def _openscanhub_task_finished(
topic: str,
event: dict,
packit_user: str,
) -> CallbackResult:
return CallbackResult(
msg=f"[OpenScanHub] OpenScanHub task {event.get('task_id')} finished:"
f" added.js={event.get('added.js')}, fixed.js={event.get('fixed.js')}",
)


# [WARNING]
# Configuration of the topics to listen to needs to be changed in
# a respective fedora.toml.j2 (https://github.com/packit/deployment/tree/main/secrets)
Expand All @@ -193,4 +204,5 @@ def _anitya_version_update(topic: str, event: dict, packit_user: str) -> Callbac
"org.fedoraproject.prod.pagure.pull-request.closed": _fedora_dg_pr_closed,
"org.fedoraproject.prod.hotness.update.bug.file": _hotness_bugzilla,
"org.release-monitoring.prod.anitya.project.version.update.v2": _anitya_version_update,
"org.fedoraproject.prod.openscanhub.task.finish": _openscanhub_task_finished,
}
19 changes: 19 additions & 0 deletions tests/data/openscanhub_task_finished.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"body": {
"added.js": "http://openscanhub.fedoraproject.org/task/15649/log/added.js?format=raw",
"fixed.js": "http://openscanhub.fedoraproject.org/task/15649/log/fixed.js?format=raw",
"scan-results.js": "http://openscanhub.fedoraproject.org/task/15649/log/gvisor-tap-vsock-0.7.5-1.20241007054606793155.pr405.23.g829aafd6/scan-results.js?format=raw",
"task_id": 15649
},
"headers": {
"fedora_messaging_schema": "base.message",
"fedora_messaging_severity": 20,
"priority": 0,
"sent-at": "2024-10-07T06:03:21+00:00",
"task_id": 15649
},
"id": "631f77b4-74f8-41ca-b3e7-47401e30cc67",
"priority": 0,
"queue": null,
"topic": "org.fedoraproject.prod.openscanhub.task.finish"
}
20 changes: 20 additions & 0 deletions tests/test_openscanhub_task_finished.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright Contributors to the Packit project.
# SPDX-License-Identifier: MIT

import json

from celery import Celery
from fedora_messaging import message
from flexmock import flexmock

from packit_service_fedmsg.consumer import Consumerino
from tests.spellbook import DATA_DIR


def test_task_finished_event():
flexmock(Celery).should_receive("send_task").and_return(flexmock(id="a")).once()
with open(DATA_DIR / "openscanhub_task_finished.json") as outfile:
json_msg = json.load(outfile)
msg = message.loads(json.dumps(json_msg))
c = Consumerino()
c(msg[0])

0 comments on commit 3656359

Please sign in to comment.