Merge "zuul-web: key endpoint: return 404 when tenant or project not found"
This commit is contained in:
commit
11709e7044
|
@ -267,6 +267,12 @@ class TestWeb(BaseTestWeb):
|
|||
self.assertEqual(resp.content, public_pem)
|
||||
self.assertIn('text/plain', resp.headers.get('Content-Type'))
|
||||
|
||||
resp = self.get_url("api/tenant/non-tenant/key/org/project.pub")
|
||||
self.assertEqual(404, resp.status_code)
|
||||
|
||||
resp = self.get_url("api/tenant/tenant-one/key/org/no-project.pub")
|
||||
self.assertEqual(404, resp.status_code)
|
||||
|
||||
def test_web_404_on_unknown_tenant(self):
|
||||
resp = self.get_url("api/tenant/non-tenant/status")
|
||||
self.assertEqual(404, resp.status_code)
|
||||
|
|
|
@ -354,7 +354,12 @@ class RPCListener(object):
|
|||
def handle_key_get(self, job):
|
||||
args = json.loads(job.arguments)
|
||||
tenant = self.sched.abide.tenants.get(args.get("tenant"))
|
||||
(trusted, project) = tenant.getProject(args.get("project"))
|
||||
project = None
|
||||
if tenant:
|
||||
(trusted, project) = tenant.getProject(args.get("project"))
|
||||
if not project:
|
||||
job.sendWorkComplete("")
|
||||
return
|
||||
job.sendWorkComplete(
|
||||
encryption.serialize_rsa_public_key(project.public_key))
|
||||
|
||||
|
|
|
@ -289,6 +289,9 @@ class ZuulWebAPI(object):
|
|||
def key(self, tenant, project):
|
||||
job = self.rpc.submitJob('zuul:key_get', {'tenant': tenant,
|
||||
'project': project})
|
||||
if not job.data:
|
||||
raise cherrypy.HTTPError(
|
||||
404, 'Project %s does not exist.' % project)
|
||||
resp = cherrypy.response
|
||||
resp.headers['Access-Control-Allow-Origin'] = '*'
|
||||
resp.headers['Content-Type'] = 'text/plain'
|
||||
|
|
Loading…
Reference in New Issue