cert-request: raise error when request fails

Fix a regression in recent change to request cert via Dogtag REST
API.  'ra.request_certificate' was no longer raising
CertificateOperationError when the cert request failed.  Inspect the
request result to determine if the request completed, and raise if
it did not.

Fixes: https://fedorahosted.org/freeipa/ticket/6309
Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
This commit is contained in:
Fraser Tweedale 2016-09-08 11:56:16 +10:00 committed by Martin Babinsky
parent 0670721ae3
commit a7de75808c

View File

@ -1678,6 +1678,10 @@ class ra(rabase.rabase, RestClient):
return cmd_result
certinfo = entries[0]
if certinfo['requestStatus'] != 'complete':
raise errors.CertificateOperationError(
error=certinfo.get('errorMessage'))
if 'certId' in certinfo:
cmd_result = self.get_certificate(certinfo['certId'])
cert = ''.join(cmd_result['certificate'].splitlines())