# Copyright (c) 2017 Red Hat, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in all # copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. # # Written by Jakub Kadlcik from module_build_service import messaging from module_build_service.messaging import KojiRepoChange # noqa class TestFedmsgMessaging: def test_buildsys_state_change(self): # https://fedora-fedmsg.readthedocs.io/en/latest/topics.html#id134 buildsys_state_change_msg = { 'msg': { 'attribute': 'state', 'build_id': 614503, 'instance': 'primary', 'name': 'plasma-systemsettings', 'new': 1, 'old': 0, 'owner': 'dvratil', 'release': '1.fc23', 'task_id': 9053697, 'version': '5.2.1' }, 'msg_id': '2015-51be4c8e-8ab6-4dcb-ac0d-37b257765c71', 'timestamp': 1424789698.0, 'topic': 'org.fedoraproject.prod.buildsys.build.state.change' } msg = messaging.FedmsgMessageParser().parse(buildsys_state_change_msg) assert msg.build_id == 614503 assert msg.build_new_state == 1 def test_buildsys_tag(self): # https://fedora-fedmsg.readthedocs.io/en/latest/topics.html#id134 buildsys_tag_msg = { "msg": { "build_id": 875961, "name": "module-build-macros", "tag_id": 619, "instance": "primary", "tag": "module-debugging-tools-master-20170405115403-build", "user": "mbs/mbs.fedoraproject.org", "version": "0.1", "owner": "mbs/mbs.fedoraproject.org", "release": "1.module_0c3d13fd" }, 'msg_id': '2015-51be4c8e-8ab6-4dcb-ac0d-37b257765c71', 'timestamp': 1424789698.0, 'topic': 'org.fedoraproject.prod.buildsys.tag' } msg = messaging.FedmsgMessageParser().parse(buildsys_tag_msg) assert msg.tag == "module-debugging-tools-master-20170405115403-build" assert msg.artifact == "module-build-macros" def test_buildsys_repo_done(self): # https://fedora-fedmsg.readthedocs.io/en/latest/topics.html#id134 buildsys_tag_msg = { "msg": { "instance": "primary", "repo_id": 728809, "tag": "module-f0f7e44f3c6cccab-build", "tag_id": 653 }, 'msg_id': '2015-51be4c8e-8ab6-4dcb-ac0d-37b257765c71', 'timestamp': 1424789698.0, 'topic': 'org.fedoraproject.prod.buildsys.repo.done' } msg = messaging.FedmsgMessageParser().parse(buildsys_tag_msg) assert msg.repo_tag == "module-f0f7e44f3c6cccab-build"