From fae7848fa47a854f25b782aa64441040a6d86543 Mon Sep 17 00:00:00 2001 From: Ralph Bean Date: Mon, 10 Apr 2017 14:32:08 -0400 Subject: [PATCH] Allow querying for module builds by koji tag. This way, if a component build fails and you want to find out who submitted it, you can track the: koji build -> koji tag -> module build -> owner --- module_build_service/models.py | 2 ++ module_build_service/utils.py | 2 +- tests/test_views/test_views.py | 5 +++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/module_build_service/models.py b/module_build_service/models.py index 282e58ef..22ebc861 100644 --- a/module_build_service/models.py +++ b/module_build_service/models.py @@ -269,6 +269,7 @@ class ModuleBuild(MBSBase): # TODO, show their entire .json() ? 'component_builds': [build.id for build in self.component_builds], 'modulemd': self.modulemd, + 'koji_tag': self.koji_tag, 'state_trace': [{'time': record.state_time, 'state': record.state, 'state_name': INVERSE_BUILD_STATES[record.state], @@ -301,6 +302,7 @@ class ModuleBuild(MBSBase): "time_submitted": self._utc_datetime_to_iso(self.time_submitted), "time_modified": self._utc_datetime_to_iso(self.time_modified), "time_completed": self._utc_datetime_to_iso(self.time_completed), + "koji_tag": self.koji_tag, "tasks": self.tasks() } diff --git a/module_build_service/utils.py b/module_build_service/utils.py index 9933411e..5bae8150 100644 --- a/module_build_service/utils.py +++ b/module_build_service/utils.py @@ -370,7 +370,7 @@ def filter_module_builds(flask_request): else: raise ValidationError('An invalid state was supplied') - for key in ['name', 'owner']: + for key in ['name', 'owner', 'koji_tag']: if flask_request.args.get(key, None): search_query[key] = flask_request.args[key] diff --git a/tests/test_views/test_views.py b/tests/test_views/test_views.py index dc55d0b7..b5faa8a6 100644 --- a/tests/test_views/test_views.py +++ b/tests/test_views/test_views.py @@ -226,6 +226,11 @@ class TestViews(unittest.TestCase): data = json.loads(rv.data) self.assertEquals(data['meta']['total'], 10) + def test_query_builds_filter_koji_tag(self): + rv = self.client.get('/module-build-service/1/module-builds/?koji_tag=module-nginx-1.2') + data = json.loads(rv.data) + self.assertEquals(data['meta']['total'], 10) + def test_query_builds_filter_completed_before(self): rv = self.client.get( '/module-build-service/1/module-builds/?completed_before=2016-09-03T11:30:00Z')