From aaff0f7581a20add80c7fb778f7abd0236604c0b Mon Sep 17 00:00:00 2001 From: sayali Date: Mon, 28 Sep 2020 19:03:21 -0700 Subject: [PATCH] Fixing UT for key_type on upload schema --- lemur/certificates/schemas.py | 8 +++++++- lemur/tests/test_pending_certificates.py | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lemur/certificates/schemas.py b/lemur/certificates/schemas.py index 1e5fe6a6..f393aa49 100644 --- a/lemur/certificates/schemas.py +++ b/lemur/certificates/schemas.py @@ -376,7 +376,13 @@ class CertificateUploadInputSchema(CertificateCreationSchema): @pre_load def load_data(self, data): - data["key_type"] = utils.get_key_type_from_certificate(data["body"]) + if data.get("body"): + try: + data["key_type"] = utils.get_key_type_from_certificate(data["body"]) + except ValueError: + raise ValidationError( + "Public certificate presented is not valid.", field_names=["body"] + ) class CertificateExportInputSchema(LemurInputSchema): diff --git a/lemur/tests/test_pending_certificates.py b/lemur/tests/test_pending_certificates.py index 3e755574..3718ef0a 100644 --- a/lemur/tests/test_pending_certificates.py +++ b/lemur/tests/test_pending_certificates.py @@ -55,6 +55,7 @@ def test_create_pending(pending_certificate, user, session): assert real_cert.notify == pending_certificate.notify assert real_cert.private_key == pending_certificate.private_key assert real_cert.external_id == "54321" + assert real_cert.key_type == "RSA2048" @pytest.mark.parametrize(