Skip to content

Commit 2ec4cc0

Browse files
authored
RUST-1535 Run csfle tests against serverless (#787)
1 parent f9e79db commit 2ec4cc0

File tree

2 files changed

+78
-17
lines changed

2 files changed

+78
-17
lines changed

.evergreen/config.yml

Lines changed: 77 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,39 @@ functions:
483483
export TLS_FEATURE=${TLS_FEATURE}
484484
.evergreen/run-csfle-kmip-servers.sh
485485
486+
"build csfle expansions":
487+
- command: shell.exec
488+
params:
489+
shell: bash
490+
working_dir: "src"
491+
script: |
492+
${PREPARE_SHELL}
493+
set +o xtrace
494+
cat <<EOT > csfle-expansions.yml
495+
PREPARE_CSFLE: |
496+
export ASYNC_RUNTIME=${ASYNC_RUNTIME}
497+
export CSFLE_TLS_CERT_DIR=$DRIVERS_TOOLS_X509
498+
export DISABLE_CRYPT_SHARED=${DISABLE_CRYPT_SHARED}
499+
export TLS_FEATURE=${TLS_FEATURE}
500+
export CRYPT_SHARED_LIB_PATH=${CRYPT_SHARED_LIB_PATH}
501+
export PYTHON=${PYTHON}
502+
${PYTHON} -m pip install boto3
503+
# Exported without xtrace to avoid leaking credentials
504+
set +o xtrace
505+
export AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
506+
export AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
507+
export AZURE_TENANT_ID=${AZURE_TENANT_ID}
508+
export AZURE_CLIENT_ID=${AZURE_CLIENT_ID}
509+
export AZURE_CLIENT_SECRET=${AZURE_CLIENT_SECRET}
510+
export GCP_EMAIL=${GCP_EMAIL}
511+
export GCP_PRIVATE_KEY=${GCP_PRIVATE_KEY}
512+
export CSFLE_LOCAL_KEY=${CSFLE_LOCAL_KEY}
513+
set -o xtrace
514+
EOT
515+
- command: expansions.update
516+
params:
517+
file: src/csfle-expansions.yml
518+
486519
"run csfle tests":
487520
- command: shell.exec
488521
type: test
@@ -491,26 +524,30 @@ functions:
491524
working_dir: "src"
492525
script: |
493526
${PREPARE_SHELL}
494-
export ASYNC_RUNTIME=${ASYNC_RUNTIME}
495-
export CSFLE_TLS_CERT_DIR=$DRIVERS_TOOLS_X509
496-
export CRYPT_SHARED_LIB_PATH=${CRYPT_SHARED_LIB_PATH}
497-
export DISABLE_CRYPT_SHARED=${DISABLE_CRYPT_SHARED}
498-
export TLS_FEATURE=${TLS_FEATURE}
499-
export PYTHON=${PYTHON}
500-
${PYTHON} -m pip install boto3
527+
${PREPARE_CSFLE}
528+
529+
.evergreen/run-csfle-tests.sh
530+
531+
"run csfle serverless tests":
532+
- command: shell.exec
533+
type: test
534+
params:
535+
shell: bash
536+
working_dir: "src"
537+
script: |
538+
${PREPARE_SHELL}
539+
${PREPARE_CSFLE}
501540
502541
# Exported without xtrace to avoid leaking credentials
503542
set +o xtrace
504-
export AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
505-
export AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
506-
export AZURE_TENANT_ID=${AZURE_TENANT_ID}
507-
export AZURE_CLIENT_ID=${AZURE_CLIENT_ID}
508-
export AZURE_CLIENT_SECRET=${AZURE_CLIENT_SECRET}
509-
export GCP_EMAIL=${GCP_EMAIL}
510-
export GCP_PRIVATE_KEY=${GCP_PRIVATE_KEY}
511-
export CSFLE_LOCAL_KEY=${CSFLE_LOCAL_KEY}
543+
export SERVERLESS_ATLAS_USER="${SERVERLESS_ATLAS_USER}"
544+
export SERVERLESS_ATLAS_PASSWORD="${SERVERLESS_ATLAS_PASSWORD}"
512545
set -o xtrace
513546
547+
export SINGLE_MONGOS_LB_URI="${SERVERLESS_URI}"
548+
. .evergreen/generate-uri.sh
549+
export SERVERLESS=serverless
550+
514551
.evergreen/run-csfle-tests.sh
515552
516553
run-valid-ocsp-server:
@@ -699,6 +736,7 @@ functions:
699736
params:
700737
script: |
701738
${PREPARE_SHELL}
739+
set +o xtrace
702740
for filename in $(find ${DRIVERS_TOOLS} -name \*.json); do
703741
perl -p -i -e "s|ABSOLUTE_PATH_REPLACEMENT_TOKEN|${DRIVERS_TOOLS}|g" $filename
704742
done
@@ -708,6 +746,7 @@ functions:
708746
params:
709747
script: |
710748
${PREPARE_SHELL}
749+
set +o xtrace
711750
for i in $(find ${DRIVERS_TOOLS}/.evergreen ${PROJECT_DIRECTORY}/.evergreen -name \*.sh); do
712751
cat $i | tr -d '\r' > $i.new
713752
mv $i.new $i
@@ -723,6 +762,7 @@ functions:
723762
params:
724763
script: |
725764
${PREPARE_SHELL}
765+
set +o xtrace
726766
for i in $(find ${DRIVERS_TOOLS}/.evergreen ${PROJECT_DIRECTORY}/.evergreen -name \*.sh); do
727767
chmod +x $i
728768
done
@@ -1171,8 +1211,24 @@ tasks:
11711211
- func: "install junit dependencies"
11721212
- func: "bootstrap mongo-orchestration"
11731213
- func: "run kmip server"
1214+
- func: "build csfle expansions"
11741215
- func: "run csfle tests"
11751216

1217+
- name: "test-csfle-serverless"
1218+
tags: ["csfle", "serverless"]
1219+
commands:
1220+
- command: expansions.update
1221+
params:
1222+
file: src/expansion.yml
1223+
- command: expansions.update
1224+
params:
1225+
file: serverless-expansion.yml
1226+
- func: "install junit dependencies"
1227+
- func: "install libmongocrypt"
1228+
- func: "run kmip server"
1229+
- func: "build csfle expansions"
1230+
- func: "run csfle serverless tests"
1231+
11761232
- name: "test-atlas-connectivity"
11771233
tags: ["atlas-connect"]
11781234
commands:
@@ -1878,7 +1934,12 @@ buildvariants:
18781934
os:
18791935
- ubuntu-18.04
18801936
async-runtime: "*"
1881-
display_name: "Serverless ${os} with ${async-runtime}"
1937+
crypt-shared:
1938+
- "enabled"
1939+
tls-feature:
1940+
- "default"
1941+
- "openssl"
1942+
display_name: "Serverless ${os} with ${async-runtime} ${tls-feature}"
18821943
tasks:
18831944
- "serverless_task_group"
18841945

.evergreen/run-csfle-tests.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ CARGO_RESULT=0
2929

3030
cargo_test() {
3131
RUST_BACKTRACE=1 \
32-
cargo test --features ${FEATURE_FLAGS} $1 ${OPTIONS} | cargo2junit
32+
cargo test --features ${FEATURE_FLAGS} $1 ${OPTIONS} | grep -v '{"t":' | cargo2junit
3333
(( CARGO_RESULT = ${CARGO_RESULT} || $? ))
3434
}
3535

0 commit comments

Comments
 (0)