From 12c6d34b72b41a5b3948c7c3d6d81784ba8c2f3e Mon Sep 17 00:00:00 2001 From: Maxim Katcharov Date: Thu, 9 May 2024 14:08:23 -0600 Subject: [PATCH 1/3] Revert "Remove admin credentials" This reverts commit 6898b4fa993ce0d02fab92437d4ee626986b1e90. # Conflicts: # driver-sync/src/test/functional/com/mongodb/client/unified/Entities.java --- .evergreen/run-mongodb-oidc-test.sh | 7 ++++++- .../functional/com/mongodb/client/unified/Entities.java | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.evergreen/run-mongodb-oidc-test.sh b/.evergreen/run-mongodb-oidc-test.sh index 1f5c1b310cc..ec2b2c19610 100755 --- a/.evergreen/run-mongodb-oidc-test.sh +++ b/.evergreen/run-mongodb-oidc-test.sh @@ -34,7 +34,12 @@ fi which java export OIDC_TESTS_ENABLED=true -./gradlew -Dorg.mongodb.test.uri="$MONGODB_URI" \ +# use admin credentials for tests +TO_REPLACE="mongodb://" +REPLACEMENT="mongodb://$OIDC_ADMIN_USER:$OIDC_ADMIN_PWD@" +ADMIN_URI=${MONGODB_URI/$TO_REPLACE/$REPLACEMENT} + +./gradlew -Dorg.mongodb.test.uri="$ADMIN_URI" \ --stacktrace --debug --info --no-build-cache driver-core:cleanTest \ driver-sync:test --tests OidcAuthenticationProseTests --tests UnifiedAuthTest \ driver-reactive-streams:test --tests OidcAuthenticationAsyncProseTests \ diff --git a/driver-sync/src/test/functional/com/mongodb/client/unified/Entities.java b/driver-sync/src/test/functional/com/mongodb/client/unified/Entities.java index 76e49d68cdb..f3aef9ec257 100644 --- a/driver-sync/src/test/functional/com/mongodb/client/unified/Entities.java +++ b/driver-sync/src/test/functional/com/mongodb/client/unified/Entities.java @@ -18,6 +18,7 @@ import com.mongodb.ClientEncryptionSettings; import com.mongodb.ClientSessionOptions; +import com.mongodb.ConnectionString; import com.mongodb.MongoClientSettings; import com.mongodb.MongoCredential; import com.mongodb.ReadConcern; @@ -535,6 +536,11 @@ private void initClient(final BsonDocument entity, final String id, "Unsupported authMechanismProperties for authMechanism: " + value); } + // override the org.mongodb.test.uri connection string + String uri = getenv("MONGODB_URI"); + ConnectionString cs = new ConnectionString(uri); + clientSettingsBuilder.applyConnectionString(cs); + String env = assertNotNull(getenv("OIDC_ENV")); MongoCredential oidcCredential = MongoCredential .createOidcCredential(null) From 00451570c8bd42776403216b8268ac3f0c80c261 Mon Sep 17 00:00:00 2001 From: Maxim Katcharov Date: Thu, 9 May 2024 14:28:06 -0600 Subject: [PATCH 2/3] Typo fix --- .../internal/connection/OidcAuthenticationProseTests.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/driver-sync/src/test/functional/com/mongodb/internal/connection/OidcAuthenticationProseTests.java b/driver-sync/src/test/functional/com/mongodb/internal/connection/OidcAuthenticationProseTests.java index 01d530e9e20..86756e24e70 100644 --- a/driver-sync/src/test/functional/com/mongodb/internal/connection/OidcAuthenticationProseTests.java +++ b/driver-sync/src/test/functional/com/mongodb/internal/connection/OidcAuthenticationProseTests.java @@ -245,7 +245,7 @@ public void test2p5InvalidAllowedHosts() { .credential(credential) .build(); assertCause(IllegalArgumentException.class, - "ALLOWED_HOSTS must not be specified only when OIDC_HUMAN_CALLBACK is specified", + "ALLOWED_HOSTS must be specified only when OIDC_HUMAN_CALLBACK is specified", () -> { try (MongoClient mongoClient = createMongoClient(settings)) { performFind(mongoClient); From 2443fb0588c25fd28990ce5e53f120111c01a63b Mon Sep 17 00:00:00 2001 From: Maxim Katcharov Date: Wed, 22 May 2024 12:26:02 -0600 Subject: [PATCH 3/3] Run test only in "test" environment --- .../internal/connection/OidcAuthenticationProseTests.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/driver-sync/src/test/functional/com/mongodb/internal/connection/OidcAuthenticationProseTests.java b/driver-sync/src/test/functional/com/mongodb/internal/connection/OidcAuthenticationProseTests.java index 86756e24e70..70ab06a08b1 100644 --- a/driver-sync/src/test/functional/com/mongodb/internal/connection/OidcAuthenticationProseTests.java +++ b/driver-sync/src/test/functional/com/mongodb/internal/connection/OidcAuthenticationProseTests.java @@ -234,6 +234,8 @@ public void test2p4InvalidClientConfigurationWithCallback() { @Test public void test2p5InvalidAllowedHosts() { + assumeTestEnvironment(); + String uri = "mongodb://localhost/?authMechanism=MONGODB-OIDC&&authMechanismProperties=ENVIRONMENT:azure,TOKEN_RESOURCE:123"; ConnectionString cs = new ConnectionString(uri); MongoCredential credential = assertNotNull(cs.getCredential())