Skip to content

Commit 04f2cc0

Browse files
authored
PYTHON-5373 test client auth on cloud-dev (#2423)
1 parent c77c15e commit 04f2cc0

File tree

5 files changed

+20
-1
lines changed

5 files changed

+20
-1
lines changed

.evergreen/generated_configs/variants.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ buildvariants:
7575
display_name: Atlas connect RHEL8
7676
run_on:
7777
- rhel87-small
78+
expansions:
79+
TEST_NAME: atlas_connect
7880
tags: [pr]
7981

8082
# Atlas data lake tests

.evergreen/scripts/generate_config.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -425,6 +425,7 @@ def create_atlas_connect_variants():
425425
get_variant_name("Atlas connect", host),
426426
tags=["pr"],
427427
host=DEFAULT_HOST,
428+
expansions=dict(TEST_NAME="atlas_connect"),
428429
)
429430
]
430431

.evergreen/scripts/setup_tests.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,18 @@ 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(
428+
"ATLAS_X509_DEV_WITH_CERT",
429+
secrets["ATLAS_X509_DEV"] + "&tlsCertificateKeyFile=" + str(cert_file),
430+
)
431+
421432
# We do not want the default client_context to be initialized.
422433
write_env("DISABLE_CONTEXT")
423434

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ expansion.yml
3030
.evergreen/scripts/test-env.sh
3131
specifications/
3232
results.json
33+
.evergreen/atlas_x509_dev_client_certificate.pem
3334

3435
# Lambda temp files
3536
test/lambda/.aws-sam

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)