summaryrefslogtreecommitdiff
path: root/tests/unit/test_web.py
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-10-25 04:10:18 +0000
committerGerrit Code Review <review@openstack.org>2022-10-25 04:10:18 +0000
commitb70d8de85bcfd551fa55b2a865ad86c494790de0 (patch)
treeeeaa889c15d70ccc2b86d5bb02589230bcffc7c9 /tests/unit/test_web.py
parent9d7fbc42343655af86b95008f919c3be5ed8cd96 (diff)
parent0738d31b08605c406da90009cb3e4792f2bdf029 (diff)
downloadzuul-b70d8de85bcfd551fa55b2a865ad86c494790de0.tar.gz
Merge "Include skipped builds in database and web ui"
Diffstat (limited to 'tests/unit/test_web.py')
-rw-r--r--tests/unit/test_web.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/unit/test_web.py b/tests/unit/test_web.py
index 14df6f96a..02a1d76d1 100644
--- a/tests/unit/test_web.py
+++ b/tests/unit/test_web.py
@@ -1783,6 +1783,45 @@ class TestBuildInfo(BaseTestWeb):
"idx_min=%i" % idx_max).json()
self.assertEqual(len(builds_query), 1, builds_query)
+ def test_web_list_skipped_builds(self):
+ # Test the exclude_result filter
+ # Generate some build records in the db.
+ A = self.fake_gerrit.addFakeChange('org/project', 'master', 'A')
+ self.executor_server.failJob('project-merge', A)
+ A.addApproval('Code-Review', 2)
+ self.fake_gerrit.addEvent(A.addApproval('Approved', 1))
+ self.waitUntilSettled()
+ self.executor_server.hold_jobs_in_build = False
+ self.executor_server.release()
+ self.waitUntilSettled()
+
+ builds = self.get_url("api/tenant/tenant-one/builds").json()
+ builds.sort(key=lambda x: x['job_name'])
+ self.assertEqual(len(builds), 3)
+ self.assertEqual(builds[0]['job_name'], 'project-merge')
+ self.assertEqual(builds[1]['job_name'], 'project-test1')
+ self.assertEqual(builds[2]['job_name'], 'project-test2')
+ self.assertEqual(builds[0]['result'], 'FAILURE')
+ self.assertEqual(builds[1]['result'], 'SKIPPED')
+ self.assertEqual(builds[2]['result'], 'SKIPPED')
+
+ builds = self.get_url("api/tenant/tenant-one/builds?"
+ "exclude_result=SKIPPED").json()
+ self.assertEqual(len(builds), 1)
+ self.assertEqual(builds[0]['job_name'], 'project-merge')
+ self.assertEqual(builds[0]['result'], 'FAILURE')
+
+ builds = self.get_url("api/tenant/tenant-one/builds?"
+ "result=SKIPPED&result=FAILURE").json()
+ builds.sort(key=lambda x: x['job_name'])
+ self.assertEqual(len(builds), 3)
+ self.assertEqual(builds[0]['job_name'], 'project-merge')
+ self.assertEqual(builds[1]['job_name'], 'project-test1')
+ self.assertEqual(builds[2]['job_name'], 'project-test2')
+ self.assertEqual(builds[0]['result'], 'FAILURE')
+ self.assertEqual(builds[1]['result'], 'SKIPPED')
+ self.assertEqual(builds[2]['result'], 'SKIPPED')
+
def test_web_badge(self):
# Generate some build records in the db.
self.add_base_changes()