def test_issuer_plugin_create_certificate(): import requests_mock from lemur.plugins.lemur_digicert.plugin import DigiCertIssuerPlugin pem_fixture = """\ -----BEGIN CERTIFICATE----- abc -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- def -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ghi -----END CERTIFICATE----- """ subject = DigiCertIssuerPlugin() adapter = requests_mock.Adapter() adapter.register_uri('POST', 'mock://www.digicert.com/services/v2/order/certificate/ssl', text=json.dumps({'id': 'id123'})) adapter.register_uri('GET', 'mock://www.digicert.com/services/v2/order/certificate/id123', text=json.dumps({'status': 'issued', 'certificate': {'id': 'cert123'}})) adapter.register_uri('GET', 'mock://www.digicert.com/services/v2/certificate/cert123/download/format/pem_all', text=pem_fixture) subject.session.mount('mock', adapter) cert, intermediate = subject.create_certificate("", {'common_name': 'test.com'}) assert cert == "-----BEGIN CERTIFICATE-----\nabc\n-----END CERTIFICATE-----" assert intermediate == "-----BEGIN CERTIFICATE-----\ndef\n-----END CERTIFICATE-----"
def test_issuer_plugin_create_certificate(certificate_="""\ -----BEGIN CERTIFICATE----- abc -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- def -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ghi -----END CERTIFICATE----- """): import requests_mock from lemur.plugins.lemur_digicert.plugin import DigiCertIssuerPlugin pem_fixture = certificate_ subject = DigiCertIssuerPlugin() adapter = requests_mock.Adapter() adapter.register_uri('POST', 'mock://www.digicert.com/services/v2/order/certificate/ssl_plus', text=json.dumps({'id': 'id123'})) adapter.register_uri('GET', 'mock://www.digicert.com/services/v2/order/certificate/id123', text=json.dumps({'status': 'issued', 'certificate': {'id': 'cert123'}})) adapter.register_uri('GET', 'mock://www.digicert.com/services/v2/certificate/cert123/download/format/pem_all', text=pem_fixture) subject.session.mount('mock', adapter) cert, intermediate, external_id = subject.create_certificate("", {'common_name': 'test.com'}) assert cert == "-----BEGIN CERTIFICATE-----\nabc\n-----END CERTIFICATE-----" assert intermediate == "-----BEGIN CERTIFICATE-----\ndef\n-----END CERTIFICATE-----"
def test_issuer_plugin_create_certificate(certificate_="""\ -----BEGIN CERTIFICATE----- abc -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- def -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ghi -----END CERTIFICATE----- """): import requests_mock from lemur.plugins.lemur_digicert.plugin import DigiCertIssuerPlugin pem_fixture = certificate_ subject = DigiCertIssuerPlugin() adapter = requests_mock.Adapter() adapter.register_uri( "POST", "mock://www.digicert.com/services/v2/order/certificate/ssl_plus", text=json.dumps({"id": "id123"}), ) adapter.register_uri( "GET", "mock://www.digicert.com/services/v2/order/certificate/id123", text=json.dumps({ "status": "issued", "certificate": { "id": "cert123" } }), ) adapter.register_uri( "GET", "mock://www.digicert.com/services/v2/certificate/cert123/download/format/pem_all", text=pem_fixture, ) subject.session.mount("mock", adapter) cert, intermediate, external_id = subject.create_certificate( "", {"common_name": "test.com"}) assert cert == "-----BEGIN CERTIFICATE-----\nabc\n-----END CERTIFICATE-----" assert intermediate == "-----BEGIN CERTIFICATE-----\ndef\n-----END CERTIFICATE-----"
def test_create_authority(mock_current_app): from lemur.plugins.lemur_digicert.plugin import DigiCertIssuerPlugin options = {"name": "test Digicert authority"} digicert_root, intermediate, role = DigiCertIssuerPlugin.create_authority( options) assert role == [{ "username": "", "password": "", "name": "digicert_test_Digicert_authority_admin" }]
def test_cancel_ordered_certificate(mock_pending_cert): import requests_mock from lemur.plugins.lemur_digicert.plugin import DigiCertIssuerPlugin mock_pending_cert.external_id = 1234 subject = DigiCertIssuerPlugin() adapter = requests_mock.Adapter() adapter.register_uri('PUT', 'mock://www.digicert.com/services/v2/order/certificate/1234/status', status_code=204) adapter.register_uri('PUT', 'mock://www.digicert.com/services/v2/order/certificate/111/status', status_code=404) subject.session.mount('mock', adapter) data = {'note': 'Test'} subject.cancel_ordered_certificate(mock_pending_cert, **data) # A non-existing order id, does not raise exception because if it doesn't exist, then it doesn't matter mock_pending_cert.external_id = 111 subject.cancel_ordered_certificate(mock_pending_cert, **data)