def test_issue_return_waiting_with_request_pending(self): order_meta = {dogtag_import.DogtagCAPlugin.PROFILE_ID: self.profile_id} plugin_meta = {} self.request.request_status = dogtag_cert.CertRequestStatus.PENDING enrollment_result = dogtag_cert.CertEnrollmentResult( self.request, None) enrollment_results = [enrollment_result] self.certclient_mock.enroll_cert.return_value = enrollment_results result_dto = self.plugin.issue_certificate_request( self.order_id, order_meta, plugin_meta, self.barbican_meta_dto) self.certclient_mock.enroll_cert.assert_called_once_with( self.profile_id, order_meta) self.assertEqual(result_dto.status, cm.CertificateStatus.WAITING_FOR_CA, "result_dto status incorrect") self.assertEqual( plugin_meta.get(dogtag_import.DogtagCAPlugin.REQUEST_ID), self.request_id_mock )
def test_issue_return_canceled_with_request_canceled(self): order_meta = { dogtag_import.DogtagCAPlugin.PROFILE_ID: self.approved_profile_id} plugin_meta = {} self.request.request_status = dogtag_cert.CertRequestStatus.CANCELED enrollment_result = dogtag_cert.CertEnrollmentResult( self.request, None) enrollment_results = [enrollment_result] self.certclient_mock.enroll_cert.return_value = enrollment_results result_dto = self.plugin.issue_certificate_request( self.order_id, order_meta, plugin_meta, self.barbican_meta_dto) self.certclient_mock.enroll_cert.assert_called_once_with( self.approved_profile_id, order_meta) self.assertEqual(cm.CertificateStatus.REQUEST_CANCELED, result_dto.status, "result_dto status incorrect") self.assertEqual( self.request_id_mock, plugin_meta.get(dogtag_import.DogtagCAPlugin.REQUEST_ID), )
def test_issue_return_data_error_with_request_rejected(self): order_meta = {dogtag_import.DogtagCAPlugin.PROFILE_ID: self.profile_id} plugin_meta = {} self.request.request_status = dogtag_cert.CertRequestStatus.REJECTED enrollment_result = dogtag_cert.CertEnrollmentResult( self.request, None) enrollment_results = [enrollment_result] self.certclient_mock.enroll_cert.return_value = enrollment_results result_dto = self.plugin.issue_certificate_request( self.order_id, order_meta, plugin_meta, self.barbican_meta_dto) self.certclient_mock.enroll_cert.assert_called_once_with( self.profile_id, order_meta) self.assertEqual(result_dto.status, cm.CertificateStatus.CLIENT_DATA_ISSUE_SEEN, "result_dto status incorrect") self.assertEqual( plugin_meta.get(dogtag_import.DogtagCAPlugin.REQUEST_ID), self.request_id_mock )
def _process_simple_cmc_cert_request(self, order_meta, plugin_meta): inputs = { 'cert_request_type': 'pkcs10', 'cert_request': order_meta.get('request_data') } self.request.request_status = dogtag_cert.CertRequestStatus.PENDING enrollment_request = mock.MagicMock() enrollment_result = dogtag_cert.CertEnrollmentResult( self.request, None ) enrollment_results = [enrollment_result] self.certclient_mock.create_enrollment_request.return_value = ( enrollment_request) self.certclient_mock.submit_enrollment_request.return_value = ( enrollment_results) result_dto = self.plugin.issue_certificate_request( self.order_id, order_meta, plugin_meta, self.barbican_meta_dto) self.certclient_mock.create_enrollment_request.assert_called_once_with( self.cfg_mock.dogtag_plugin.simple_cmc_profile, inputs) self.certclient_mock.submit_enrollment_request.assert_called_once_with( enrollment_request) self.assertEqual(result_dto.status, cm.CertificateStatus.WAITING_FOR_CA, "result_dto status incorrect") self.assertEqual( plugin_meta.get(dogtag_import.DogtagCAPlugin.REQUEST_ID), self.request_id_mock )
def _process_custom_cert_request(self, order_meta, plugin_meta): enrollment_result = dogtag_cert.CertEnrollmentResult( self.request, self.cert) enrollment_results = [enrollment_result] self.certclient_mock.enroll_cert.return_value = enrollment_results result_dto = self.plugin.issue_certificate_request( self.order_id, order_meta, plugin_meta, self.barbican_meta_dto) self.certclient_mock.enroll_cert.assert_called_once_with( self.profile_id, order_meta) self.assertEqual(result_dto.status, cm.CertificateStatus.CERTIFICATE_GENERATED, "result_dto status incorrect") self.assertEqual(result_dto.certificate, self.cert_encoded_mock) self.assertEqual(result_dto.intermediates, self.cert_pkcs7_mock) self.assertEqual( plugin_meta.get(dogtag_import.DogtagCAPlugin.REQUEST_ID), self.request_id_mock )
def test_modify_request(self): order_meta = {dogtag_import.DogtagCAPlugin.PROFILE_ID: self.profile_id} plugin_meta = { dogtag_import.DogtagCAPlugin.REQUEST_ID: self.request_id_mock } self.certclient_mock.cancel_request.return_value = None self.certclient_mock.review_request.return_value = self.review_response enrollment_result = dogtag_cert.CertEnrollmentResult( self.modified_request, self.cert) enrollment_results = [enrollment_result] self.certclient_mock.enroll_cert.return_value = enrollment_results result_dto = self.plugin.modify_certificate_request( self.order_id, order_meta, plugin_meta) self.certclient_mock.cancel_request.assert_called_once_with( self.request_id_mock, self.review_response) self.certclient_mock.enroll_cert.assert_called_once_with( self.profile_id, order_meta) self.assertEqual(result_dto.status, cm.CertificateStatus.CERTIFICATE_GENERATED, "result_dto_status incorrect") self.assertEqual(result_dto.certificate, self.cert_encoded_mock) self.assertEqual(result_dto.intermediates, self.cert_pkcs7_mock) self.assertEqual( plugin_meta.get(dogtag_import.DogtagCAPlugin.REQUEST_ID), self.modified_request_id_mock)
def test_issue_raises_error_request_complete_no_cert(self): order_meta = {dogtag_import.DogtagCAPlugin.PROFILE_ID: self.profile_id} plugin_meta = {} enrollment_result = dogtag_cert.CertEnrollmentResult( self.request, None) enrollment_results = [enrollment_result] self.certclient_mock.enroll_cert.return_value = enrollment_results self.assertRaises(cm.CertificateGeneralException, self.plugin.issue_certificate_request, self.order_id, order_meta, plugin_meta) self.assertEqual( plugin_meta.get(dogtag_import.DogtagCAPlugin.REQUEST_ID), self.request_id_mock)
def test_issue_raises_error_request_unknown_status(self): order_meta = { dogtag_import.DogtagCAPlugin.PROFILE_ID: self.approved_profile_id } plugin_meta = {} self.request.request_status = "unknown_status" enrollment_result = dogtag_cert.CertEnrollmentResult( self.request, None) enrollment_results = [enrollment_result] self.certclient_mock.enroll_cert.return_value = enrollment_results self.assertRaises(cm.CertificateGeneralException, self.plugin.issue_certificate_request, self.order_id, order_meta, plugin_meta, self.barbican_meta_dto) self.assertEqual( self.request_id_mock, plugin_meta.get(dogtag_import.DogtagCAPlugin.REQUEST_ID))
def _process_approved_profile_request(self, order_meta, plugin_meta): enrollment_result = dogtag_cert.CertEnrollmentResult( self.request, self.cert) enrollment_results = [enrollment_result] self.certclient_mock.enroll_cert.return_value = enrollment_results result_dto = self.plugin.issue_certificate_request( self.order_id, order_meta, plugin_meta, self.barbican_meta_dto) self.certclient_mock.enroll_cert.assert_called_once_with( self.approved_profile_id, order_meta) self.assertEqual(cm.CertificateStatus.CERTIFICATE_GENERATED, result_dto.status, "result_dto status incorrect") self.assertEqual(base64.b64encode(keys.get_certificate_pem()), result_dto.certificate) self.assertEqual( self.request_id_mock, plugin_meta.get(dogtag_import.DogtagCAPlugin.REQUEST_ID))