Skip to content

Commit 6ae57a4

Browse files
committed
PYTHON-5373 test client auth on cloud-dev
1 parent 3fbc5f3 commit 6ae57a4

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

.evergreen/scripts/setup_tests.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,15 @@ def handle_test_env() -> None:
417417
run_command(f"bash {auth_aws_dir}/setup-secrets.sh")
418418

419419
if test_name == "atlas_connect":
420-
get_secrets("drivers/atlas_connect")
420+
secrets = get_secrets("drivers/atlas_connect")
421+
422+
# Write file with Atlas X509 client certificate:
423+
decoded = base64.b64decode(secrets["ATLAS_X509_DEV_CERT_BASE64"]).decode("utf8")
424+
cert_file = ROOT / ".evergreen/atlas_x509_dev_client_certificate.pem"
425+
with cert_file.open("w") as file:
426+
file.write(decoded)
427+
write_env("ATLAS_X509_DEV_WITH_CERT", secrets["ATLAS_X509_DEV"] + "&tlsCertificateKeyFile=" + str(cert_file))
428+
421429
# We do not want the default client_context to be initialized.
422430
write_env("DISABLE_CONTEXT")
423431

test/atlas/test_connection.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
"ATLAS_SRV_FREE": os.environ.get("ATLAS_SRV_FREE"),
4343
"ATLAS_SRV_TLS11": os.environ.get("ATLAS_SRV_TLS11"),
4444
"ATLAS_SRV_TLS12": os.environ.get("ATLAS_SRV_TLS12"),
45+
"ATLAS_X509_DEV_WITH_CERT": os.environ.get("ATLAS_X509_DEV_WITH_CERT"),
4546
}
4647

4748

@@ -91,6 +92,9 @@ def test_srv_tls_11(self):
9192
def test_srv_tls_12(self):
9293
self.connect_srv(URIS["ATLAS_SRV_TLS12"])
9394

95+
def test_x509_with_cert(self):
96+
self.connect(URIS["ATLAS_X509_DEV_WITH_CERT"])
97+
9498
def test_uniqueness(self):
9599
"""Ensure that we don't accidentally duplicate the test URIs."""
96100
uri_to_names = defaultdict(list)

0 commit comments

Comments
 (0)