keyserver: tests!

This commit is contained in:
Jimmy Zelinskie 2016-04-06 20:03:48 -04:00 committed by Jimmy Zelinskie
parent d19eb16b45
commit cfc15746a6
2 changed files with 121 additions and 12 deletions

View file

@ -26,13 +26,10 @@ JWT_HEADER_NAME = 'Authorization'
JWT_AUDIENCE = app.config['PREFERRED_URL_SCHEME'] + '://' + app.config['SERVER_HOSTNAME']
def _validate_jwk(jwk, kid):
def _validate_jwk(jwk):
if 'kty' not in jwk:
abort(400)
if 'kid' not in jwk or jwk['kid'] != kid:
abort(400)
if jwk['kty'] == 'EC':
if 'x' not in jwk or 'y' not in jwk:
abort(400)
@ -129,7 +126,7 @@ def put_service_key(service, kid):
encoded_jwt = match.group(1)
_validate_jwk(jwk, kid)
_validate_jwk(jwk)
signer_kid = _signer_kid(encoded_jwt)
@ -196,10 +193,10 @@ def delete_service_key(service, kid):
_validate_jwt(encoded_jwt, signer_key.jwk, service)
try:
data.model.service_keys.delete_service_key(service, kid)
data.model.service_keys.delete_service_key(kid)
except data.model.ServiceKeyDoesNotExist:
abort(404)
return make_response('', 200)
return make_response('', 204)
abort(403)