Clear up module_build_service.messaging

Message classes and FedmsgMessageParser are moved into dedicated Python module
under scheduler/ directory.

FedmsgMessageParser is decoupled from messaging.py by initializing a parser
object with known fedmsg services. This decouple avoids cycle import between
parser.py and messaging.py.

Signed-off-by: Chenxiong Qi <cqi@redhat.com>
This commit is contained in:
Chenxiong Qi
2019-10-28 18:22:25 +08:00
committed by mprahl
parent 3aae931382
commit db20065e74
26 changed files with 493 additions and 471 deletions

View File

@@ -1,7 +1,8 @@
# -*- coding: utf-8 -*-
# SPDX-License-Identifier: MIT
from module_build_service import messaging
from module_build_service.messaging import KojiRepoChange # noqa
from module_build_service.scheduler.parser import FedmsgMessageParser
class TestFedmsgMessaging:
@@ -25,7 +26,8 @@ class TestFedmsgMessaging:
"topic": "org.fedoraproject.prod.buildsys.build.state.change",
}
msg = messaging.FedmsgMessageParser().parse(buildsys_state_change_msg)
parser = FedmsgMessageParser(messaging.known_fedmsg_services)
msg = parser.parse(buildsys_state_change_msg)
assert msg.build_id == 614503
assert msg.build_new_state == 1
@@ -49,7 +51,8 @@ class TestFedmsgMessaging:
"topic": "org.fedoraproject.prod.buildsys.tag",
}
msg = messaging.FedmsgMessageParser().parse(buildsys_tag_msg)
parser = FedmsgMessageParser(messaging.known_fedmsg_services)
msg = parser.parse(buildsys_tag_msg)
assert msg.tag == "module-debugging-tools-master-20170405115403-build"
assert msg.artifact == "module-build-macros"
@@ -68,6 +71,7 @@ class TestFedmsgMessaging:
"topic": "org.fedoraproject.prod.buildsys.repo.done",
}
msg = messaging.FedmsgMessageParser().parse(buildsys_tag_msg)
parser = FedmsgMessageParser(messaging.known_fedmsg_services)
msg = parser.parse(buildsys_tag_msg)
assert msg.repo_tag == "module-f0f7e44f3c6cccab-build"