Add report URL to status.json
So that the final reporting URL (eg, logs.o.o) can be included
on the status page for completed jobs.
Change-Id: Ida811e2b097a32b8d560aad8a0b18c8048a36279
diff --git a/tests/test_scheduler.py b/tests/test_scheduler.py
index ec1e32a..fe7c7cc 100755
--- a/tests/test_scheduler.py
+++ b/tests/test_scheduler.py
@@ -2235,6 +2235,9 @@
self.fake_gerrit.addEvent(A.addApproval('APRV', 1))
self.waitUntilSettled()
+ self.worker.release('project-merge')
+ self.waitUntilSettled()
+
port = self.webapp.server.socket.getsockname()[1]
req = urllib2.Request("http://localhost:%s/status.json" % port)
@@ -2255,7 +2258,7 @@
self.waitUntilSettled()
data = json.loads(data)
- status_jobs = set()
+ status_jobs = []
for p in data['pipelines']:
for q in p['change_queues']:
if p['name'] in ['gate', 'conflict']:
@@ -2267,10 +2270,24 @@
self.assertTrue(change['active'])
self.assertEqual(change['id'], '1,1')
for job in change['jobs']:
- status_jobs.add(job['name'])
- self.assertIn('project-merge', status_jobs)
- self.assertIn('project-test1', status_jobs)
- self.assertIn('project-test2', status_jobs)
+ status_jobs.append(job)
+ self.assertEqual('project-merge', status_jobs[0]['name'])
+ self.assertEqual('https://server/job/project-merge/0/',
+ status_jobs[0]['url'])
+ self.assertEqual('http://logs.example.com/1/1/gate/project-merge/0',
+ status_jobs[0]['report_url'])
+
+ self.assertEqual('project-test1', status_jobs[1]['name'])
+ self.assertEqual('https://server/job/project-test1/1/',
+ status_jobs[1]['url'])
+ self.assertEqual('http://logs.example.com/1/1/gate/project-test1/1',
+ status_jobs[1]['report_url'])
+
+ self.assertEqual('project-test2', status_jobs[2]['name'])
+ self.assertEqual('https://server/job/project-test2/2/',
+ status_jobs[2]['url'])
+ self.assertEqual('http://logs.example.com/1/1/gate/project-test2/2',
+ status_jobs[2]['report_url'])
def test_merging_queues(self):
"Test that transitively-connected change queues are merged"