コード例 #1
0
    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
        )
コード例 #2
0
ファイル: test_dogtag.py プロジェクト: rajivmucheli/barbican
    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),
        )
コード例 #3
0
    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
        )
コード例 #4
0
    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
        )
コード例 #5
0
    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
        )
コード例 #6
0
ファイル: test_dogtag.py プロジェクト: chellygel/barbican
    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)
コード例 #7
0
ファイル: test_dogtag.py プロジェクト: chellygel/barbican
    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)
コード例 #8
0
    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))
コード例 #9
0
    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))