Skip to content

Commit 4ef2c3c

Browse files
authored
test(NODE-4483): set crypt shared lib path (#3338)
1 parent dcbfd6e commit 4ef2c3c

File tree

6 files changed

+48
-26
lines changed

6 files changed

+48
-26
lines changed

.evergreen/config.in.yml

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -423,12 +423,12 @@ functions:
423423
script: |
424424
${PREPARE_SHELL}
425425
cat <<EOT > prepare_client_encryption.sh
426-
export CLIENT_ENCRYPTION=${CLIENT_ENCRYPTION}
426+
export CLIENT_ENCRYPTION='${CLIENT_ENCRYPTION}'
427427
export CSFLE_KMS_PROVIDERS='${CSFLE_KMS_PROVIDERS}'
428-
export AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID}"
429-
export AWS_SECRET_ACCESS_KEY="${AWS_SECRET_ACCESS_KEY}"
430-
export CSFLE_GIT_REF="${CSFLE_GIT_REF}"
431-
export CDRIVER_GIT_REF="${CDRIVER_GIT_REF}"
428+
export AWS_ACCESS_KEY_ID='${AWS_ACCESS_KEY_ID}'
429+
export AWS_SECRET_ACCESS_KEY='${AWS_SECRET_ACCESS_KEY}'
430+
export CSFLE_GIT_REF='${CSFLE_GIT_REF}'
431+
export CDRIVER_GIT_REF='${CDRIVER_GIT_REF}'
432432
EOT
433433
- command: shell.exec
434434
type: test
@@ -810,19 +810,25 @@ functions:
810810
params:
811811
working_dir: "src"
812812
timeout_secs: 60
813+
shell: bash
813814
script: |
814815
${PREPARE_SHELL}
815816
816817
# Disable xtrace (just in case it was accidentally set).
817818
set +x
818-
. ./prepare_client_encryption.sh
819+
source ./prepare_client_encryption.sh
819820
rm -f ./prepare_client_encryption.sh
820821
821-
VERSION=${VERSION} DRIVERS_TOOLS=${DRIVERS_TOOLS} \
822-
bash ${PROJECT_DIRECTORY}/.evergreen/prepare-crypt-shared-lib.sh
822+
export VERSION=${VERSION}
823+
export DRIVERS_TOOLS=${DRIVERS_TOOLS}
824+
825+
source ${PROJECT_DIRECTORY}/.evergreen/prepare-crypt-shared-lib.sh
826+
export MONGODB_URI="${MONGODB_URI}"
827+
export CRYPT_SHARED_LIB_PATH
828+
829+
echo "setting CRYPT_SHARED_LIB_PATH: $CRYPT_SHARED_LIB_PATH"
823830
824-
MONGODB_URI="${MONGODB_URI}" CRYPT_SHARED_LIB_PATH="${CRYPT_SHARED_LIB_PATH}" \
825-
bash ${PROJECT_DIRECTORY}/.evergreen/run-custom-csfle-tests.sh
831+
bash ${PROJECT_DIRECTORY}/.evergreen/run-custom-csfle-tests.sh
826832
827833
"run custom snappy tests":
828834
- command: subprocess.exec

.evergreen/config.yml

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -385,12 +385,12 @@ functions:
385385
script: |
386386
${PREPARE_SHELL}
387387
cat <<EOT > prepare_client_encryption.sh
388-
export CLIENT_ENCRYPTION=${CLIENT_ENCRYPTION}
388+
export CLIENT_ENCRYPTION='${CLIENT_ENCRYPTION}'
389389
export CSFLE_KMS_PROVIDERS='${CSFLE_KMS_PROVIDERS}'
390-
export AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID}"
391-
export AWS_SECRET_ACCESS_KEY="${AWS_SECRET_ACCESS_KEY}"
392-
export CSFLE_GIT_REF="${CSFLE_GIT_REF}"
393-
export CDRIVER_GIT_REF="${CDRIVER_GIT_REF}"
390+
export AWS_ACCESS_KEY_ID='${AWS_ACCESS_KEY_ID}'
391+
export AWS_SECRET_ACCESS_KEY='${AWS_SECRET_ACCESS_KEY}'
392+
export CSFLE_GIT_REF='${CSFLE_GIT_REF}'
393+
export CDRIVER_GIT_REF='${CDRIVER_GIT_REF}'
394394
EOT
395395
- command: shell.exec
396396
type: test
@@ -775,19 +775,25 @@ functions:
775775
params:
776776
working_dir: src
777777
timeout_secs: 60
778+
shell: bash
778779
script: |
779780
${PREPARE_SHELL}
780781
781782
# Disable xtrace (just in case it was accidentally set).
782783
set +x
783-
. ./prepare_client_encryption.sh
784+
source ./prepare_client_encryption.sh
784785
rm -f ./prepare_client_encryption.sh
785786
786-
VERSION=${VERSION} DRIVERS_TOOLS=${DRIVERS_TOOLS} \
787-
bash ${PROJECT_DIRECTORY}/.evergreen/prepare-crypt-shared-lib.sh
787+
export VERSION=${VERSION}
788+
export DRIVERS_TOOLS=${DRIVERS_TOOLS}
789+
790+
source ${PROJECT_DIRECTORY}/.evergreen/prepare-crypt-shared-lib.sh
791+
export MONGODB_URI="${MONGODB_URI}"
792+
export CRYPT_SHARED_LIB_PATH
793+
794+
echo "setting CRYPT_SHARED_LIB_PATH: $CRYPT_SHARED_LIB_PATH"
788795
789-
MONGODB_URI="${MONGODB_URI}" CRYPT_SHARED_LIB_PATH="${CRYPT_SHARED_LIB_PATH}" \
790-
bash ${PROJECT_DIRECTORY}/.evergreen/run-custom-csfle-tests.sh
796+
bash ${PROJECT_DIRECTORY}/.evergreen/run-custom-csfle-tests.sh
791797
run custom snappy tests:
792798
- command: subprocess.exec
793799
params:

.evergreen/run-custom-csfle-tests.sh

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#! /usr/bin/env bash
2-
32
set +o xtrace # Do not write AWS credentials to stderr
43

54
# Initiail checks for running these tests
@@ -10,6 +9,8 @@ if [ -z ${CSFLE_KMS_PROVIDERS+omitted} ]; then echo "CSFLE_KMS_PROVIDERS is unse
109
export AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
1110
export AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
1211
export CSFLE_KMS_PROVIDERS=${CSFLE_KMS_PROVIDERS}
12+
export CRYPT_SHARED_LIB_PATH=${CRYPT_SHARED_LIB_PATH}
13+
echo "csfle CRYPT_SHARED_LIB_PATH: $CRYPT_SHARED_LIB_PATH"
1314

1415
[ -s "$PROJECT_DIRECTORY/node-artifacts/nvm/nvm.sh" ] && source "$PROJECT_DIRECTORY"/node-artifacts/nvm/nvm.sh
1516

@@ -66,10 +67,6 @@ export KMIP_TLS_CA_FILE="${DRIVERS_TOOLS}/.evergreen/x509gen/ca.pem"
6667
export KMIP_TLS_CERT_FILE="${DRIVERS_TOOLS}/.evergreen/x509gen/client.pem"
6768
export TEST_CSFLE=true
6869

69-
if [ -n "$CRYPT_SHARED_LIB_PATH" ]; then
70-
export CRYPT_SHARED_LIB_PATH=${CRYPT_SHARED_LIB_PATH}
71-
fi
72-
7370
set +o errexit # We want to run both test suites even if the first fails
7471
npm run check:csfle
7572
DRIVER_CSFLE_TEST_RESULT=$?

test/tools/runner/hooks/configuration.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,8 @@ const testConfigBeforeHook = async function () {
149149
ldap: MONGODB_URI.includes('authMechanism=PLAIN'),
150150
ocsp: process.env.OCSP_TLS_SHOULD_SUCCEED != null && process.env.CA_FILE != null,
151151
socks5: MONGODB_URI.includes('proxyHost='),
152-
compressor: process.env.COMPRESSOR
152+
compressor: process.env.COMPRESSOR,
153+
cryptSharedLibPath: process.env.CRYPT_SHARED_LIB_PATH
153154
};
154155

155156
console.error(inspect(currentEnv, { colors: true }));

test/tools/spec-runner/index.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,12 @@ function translateClientOptions(options) {
8484
};
8585
}
8686

87+
if (process.env.CRYPT_SHARED_LIB_PATH) {
88+
options.autoEncryption.extraOptions = {
89+
cryptSharedLibPath: process.env.CRYPT_SHARED_LIB_PATH
90+
};
91+
}
92+
8793
options.autoEncryption.kmsProviders = kmsProviders;
8894
}
8995

test/tools/unified-spec-runner/unified-utils.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -379,6 +379,12 @@ export function createClientEncryption(
379379
tlsOptions
380380
};
381381

382+
if (process.env.CRYPT_SHARED_LIB_PATH) {
383+
autoEncryptionOptions.extraOptions = {
384+
cryptSharedLibPath: process.env.CRYPT_SHARED_LIB_PATH
385+
};
386+
}
387+
382388
const clientEncryption = new ClientEncryptionClass(clientEntity, autoEncryptionOptions);
383389
return clientEncryption;
384390
}

0 commit comments

Comments
 (0)