zuul-web: jobs list endpoint: Add test and fix tenant not found 500 error
Job lists test was missing so this add a minimal one and also fix the 500 errors return when the tenant does not exist. Change-Id: Ifa161a0c6ac801ced0d55dd48d1d5f83833aeea4
This commit is contained in:
parent
19afda37a3
commit
0ecccbc349
@ -271,6 +271,13 @@ class TestWeb(BaseTestWeb):
|
|||||||
resp = self.get_url("api/tenant/non-tenant/status")
|
resp = self.get_url("api/tenant/non-tenant/status")
|
||||||
self.assertEqual(404, resp.status_code)
|
self.assertEqual(404, resp.status_code)
|
||||||
|
|
||||||
|
def test_jobs_list(self):
|
||||||
|
jobs = self.get_url("api/tenant/tenant-one/jobs").json()
|
||||||
|
self.assertEqual(len(jobs), 8)
|
||||||
|
|
||||||
|
resp = self.get_url("api/tenant/non-tenant/jobs")
|
||||||
|
self.assertEqual(404, resp.status_code)
|
||||||
|
|
||||||
|
|
||||||
class TestInfo(BaseTestWeb):
|
class TestInfo(BaseTestWeb):
|
||||||
|
|
||||||
|
@ -341,6 +341,8 @@ class RPCListener(object):
|
|||||||
args = json.loads(job.arguments)
|
args = json.loads(job.arguments)
|
||||||
tenant = self.sched.abide.tenants.get(args.get("tenant"))
|
tenant = self.sched.abide.tenants.get(args.get("tenant"))
|
||||||
output = []
|
output = []
|
||||||
|
if not tenant:
|
||||||
|
job.sendWorkComplete(json.dumps(None))
|
||||||
for job_name in sorted(tenant.layout.jobs):
|
for job_name in sorted(tenant.layout.jobs):
|
||||||
desc = None
|
desc = None
|
||||||
for tenant_job in tenant.layout.jobs[job_name]:
|
for tenant_job in tenant.layout.jobs[job_name]:
|
||||||
|
@ -269,6 +269,8 @@ class ZuulWebAPI(object):
|
|||||||
def jobs(self, tenant):
|
def jobs(self, tenant):
|
||||||
job = self.rpc.submitJob('zuul:job_list', {'tenant': tenant})
|
job = self.rpc.submitJob('zuul:job_list', {'tenant': tenant})
|
||||||
ret = json.loads(job.data[0])
|
ret = json.loads(job.data[0])
|
||||||
|
if ret is None:
|
||||||
|
raise cherrypy.HTTPError(404, 'Tenant %s does not exist.' % tenant)
|
||||||
resp = cherrypy.response
|
resp = cherrypy.response
|
||||||
resp.headers['Access-Control-Allow-Origin'] = '*'
|
resp.headers['Access-Control-Allow-Origin'] = '*'
|
||||||
return ret
|
return ret
|
||||||
|
Loading…
Reference in New Issue
Block a user