diff --git a/.evergreen/config/functions.yml b/.evergreen/config/functions.yml index 538abdea0..f7022296a 100644 --- a/.evergreen/config/functions.yml +++ b/.evergreen/config/functions.yml @@ -210,7 +210,6 @@ functions: params: include_expansions_in_env: - API_VERSION - - ATLAS_CONNECTIVITY_URIS - CRYPT_SHARED_LIB_PATH - MONGODB_URI - APPEND_URI diff --git a/.evergreen/config/test-tasks.yml b/.evergreen/config/test-tasks.yml index cf929a671..45c000a9b 100644 --- a/.evergreen/config/test-tasks.yml +++ b/.evergreen/config/test-tasks.yml @@ -2,6 +2,14 @@ tasks: - name: "test-atlas-connectivity" tags: ["atlas", "nodb"] commands: + # This creates secrets-export.sh, which is later sourced by run-tests.sh + - command: subprocess.exec + params: + working_dir: "src" + binary: bash + args: + - -c + - ${DRIVERS_TOOLS}/.evergreen/secrets_handling/setup-secrets.sh drivers/atlas_connect - func: "run tests" vars: TESTS: "tests/atlas.phpt" diff --git a/.evergreen/run-tests.sh b/.evergreen/run-tests.sh index 8a7524027..05e50000d 100755 --- a/.evergreen/run-tests.sh +++ b/.evergreen/run-tests.sh @@ -39,6 +39,11 @@ else echo "crypt_shared library will be loaded from path: $CRYPT_SHARED_LIB_PATH" fi +# Conditionally source setup-secrets.sh created by drivers-evergreen-tools +if [ -f "${PROJECT_DIRECTORY}/secrets-export.sh" ]; then + source ${PROJECT_DIRECTORY}/secrets-export.sh +fi + echo "Running tests with URI: $MONGODB_URI" # Run the tests, and store the results in a junit result file diff --git a/.gitignore b/.gitignore index 3b6198ac2..b3ca647a7 100644 --- a/.gitignore +++ b/.gitignore @@ -67,3 +67,6 @@ mongodb-*tgz # Coverage files coverage* + +# drivers-evergreen-tools secrets handling +secrets-export.sh diff --git a/tests/atlas.phpt b/tests/atlas.phpt index c0ef24e8f..00875b0db 100644 --- a/tests/atlas.phpt +++ b/tests/atlas.phpt @@ -2,23 +2,40 @@ Atlas Connectivity Tests --SKIPIF-- - --FILE-- 1]); $query = new \MongoDB\Driver\Query([]); -foreach (getAtlasConnectivityUrls() as $url) { - if (strpos($url, '#') === 0) { - echo trim(substr($url, 1)), "\n"; +foreach ($envs as $env) { + echo $env, ': '; + $uri = getenv($env); + + if (! is_string($uri)) { + echo "FAIL: env var is undefined\n"; continue; } try { - $m = new \MongoDB\Driver\Manager($url); + $m = new \MongoDB\Driver\Manager($uri); $m->executeCommand('admin', $command); iterator_to_array($m->executeQuery('test.test', $query)); echo "PASS\n"; @@ -30,25 +47,16 @@ foreach (getAtlasConnectivityUrls() as $url) { ===DONE=== --EXPECTF-- -Atlas Serverless -PASS -PASS -Atlas replica set (4.0) -PASS -PASS -Atlas sharded cluster (4.0) -PASS -PASS -Atlas free tier replica set -PASS -PASS -Atlas with only TLSv1.1 enabled (4.0) -PASS -PASS -Atlas with only TLSv1.2 enabled (4.0) -PASS -PASS -Atlas with only TLSv1.2 enabled (4.0) and bad credentials -FAIL: %s -FAIL: %s +ATLAS_SERVERLESS: PASS +ATLAS_SRV_SERVERLESS: PASS +ATLAS_FREE: PASS +ATLAS_SRV_FREE: PASS +ATLAS_REPL: PASS +ATLAS_SRV_REPL: PASS +ATLAS_SHRD: PASS +ATLAS_SRV_SHRD: PASS +ATLAS_TLS11: PASS +ATLAS_SRV_TLS11: PASS +ATLAS_TLS12: PASS +ATLAS_SRV_TLS12: PASS ===DONE=== diff --git a/tests/utils/skipif.php b/tests/utils/skipif.php index 2efd31f3d..e7ba4d242 100644 --- a/tests/utils/skipif.php +++ b/tests/utils/skipif.php @@ -494,10 +494,3 @@ function skip_if_no_crypt_shared() exit('skip crypt_shared is not available'); } } - -function skip_if_no_atlas_connectivity_urls() -{ - if (getAtlasConnectivityUrls() === []) { - exit('skip No Atlas URIs found'); - } -} diff --git a/tests/utils/tools.php b/tests/utils/tools.php index d0753b900..48a22c9d4 100644 --- a/tests/utils/tools.php +++ b/tests/utils/tools.php @@ -847,26 +847,3 @@ function failGetMore(Manager $manager) throw new Exception("Trying to configure a getMore fail point for a server version ($version) that doesn't support it"); } - -function getAtlasConnectivityUrls(): array -{ - $atlasUriString = getenv('ATLAS_CONNECTIVITY_URIS') ?: ''; - if (!$atlasUriString) { - return []; - } - - $rawUrls = explode("\n", $atlasUriString); - - $urls = []; - foreach ($rawUrls as $url) { - $url = trim($url); - - if ($url == '') { - continue; - } - - $urls[] = $url; - } - - return $urls; -}