From 78ff62cfa5734a0edade8a7708c6fd3c1c924b2d Mon Sep 17 00:00:00 2001 From: Maxim Katcharov Date: Tue, 29 Oct 2024 17:06:54 -0600 Subject: [PATCH 1/5] Clean up unified tests via skipping API --- .../unified/UnifiedRetryableReadsTest.java | 3 +- .../unified/UnifiedRetryableWritesTest.java | 3 +- ...ifiedServerDiscoveryAndMonitoringTest.java | 5 +- .../unified/UnifiedRetryableReadsTest.java | 32 ++++---- .../unified/UnifiedRetryableWritesTest.java | 20 +++-- ...ifiedServerDiscoveryAndMonitoringTest.java | 49 ++++++------ .../client/unified/UnifiedTestSkips.java | 80 +++++++++++++++++++ 7 files changed, 141 insertions(+), 51 deletions(-) create mode 100644 driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestSkips.java diff --git a/driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/UnifiedRetryableReadsTest.java b/driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/UnifiedRetryableReadsTest.java index d7f3df0f34a..5a0246ccf6c 100644 --- a/driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/UnifiedRetryableReadsTest.java +++ b/driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/UnifiedRetryableReadsTest.java @@ -28,13 +28,14 @@ import java.util.Collection; import static com.mongodb.client.unified.UnifiedRetryableReadsTest.doSkips; +import static com.mongodb.client.unified.UnifiedTestSkips.testDef; import static com.mongodb.reactivestreams.client.syncadapter.SyncMongoClient.disableWaitForBatchCursorCreation; import static com.mongodb.reactivestreams.client.syncadapter.SyncMongoClient.enableWaitForBatchCursorCreation; final class UnifiedRetryableReadsTest extends UnifiedReactiveStreamsTest { @Override protected void skips(final String fileDescription, final String testDescription) { - doSkips(fileDescription, testDescription); + doSkips(testDef("unified-test-format/retryable-reads", fileDescription, testDescription)); } @Override diff --git a/driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/UnifiedRetryableWritesTest.java b/driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/UnifiedRetryableWritesTest.java index 182ead20c22..4d63bae7279 100644 --- a/driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/UnifiedRetryableWritesTest.java +++ b/driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/UnifiedRetryableWritesTest.java @@ -23,11 +23,12 @@ import java.util.Collection; import static com.mongodb.client.unified.UnifiedRetryableWritesTest.doSkips; +import static com.mongodb.client.unified.UnifiedTestSkips.testDef; final class UnifiedRetryableWritesTest extends UnifiedReactiveStreamsTest { @Override protected void skips(final String fileDescription, final String testDescription) { - doSkips(testDescription); + doSkips(testDef("unified-test-format/retryable-writes", fileDescription, testDescription)); } private static Collection data() throws URISyntaxException, IOException { diff --git a/driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/UnifiedServerDiscoveryAndMonitoringTest.java b/driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/UnifiedServerDiscoveryAndMonitoringTest.java index 7301a21b372..73695fd5f52 100644 --- a/driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/UnifiedServerDiscoveryAndMonitoringTest.java +++ b/driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/UnifiedServerDiscoveryAndMonitoringTest.java @@ -22,6 +22,8 @@ import java.net.URISyntaxException; import java.util.Collection; +import static com.mongodb.client.unified.UnifiedTestSkips.testDef; + final class UnifiedServerDiscoveryAndMonitoringTest extends UnifiedReactiveStreamsTest { private static Collection data() throws URISyntaxException, IOException { return getTestData("unified-test-format/server-discovery-and-monitoring"); @@ -29,6 +31,7 @@ private static Collection data() throws URISyntaxException, IOExcepti @Override protected void skips(final String fileDescription, final String testDescription) { - com.mongodb.client.unified.UnifiedServerDiscoveryAndMonitoringTest.doSkips(fileDescription, testDescription); + com.mongodb.client.unified.UnifiedServerDiscoveryAndMonitoringTest.doSkips( + testDef("unified-test-format/server-discovery-and-monitoring", fileDescription, testDescription)); } } diff --git a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedRetryableReadsTest.java b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedRetryableReadsTest.java index 4099191556d..75a8d8f1adb 100644 --- a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedRetryableReadsTest.java +++ b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedRetryableReadsTest.java @@ -22,28 +22,28 @@ import java.net.URISyntaxException; import java.util.Collection; -import static org.junit.jupiter.api.Assumptions.assumeFalse; +import static com.mongodb.client.unified.UnifiedTestSkips.TestDef; +import static com.mongodb.client.unified.UnifiedTestSkips.testDef; public final class UnifiedRetryableReadsTest extends UnifiedSyncTest { @Override protected void skips(final String fileDescription, final String testDescription) { - doSkips(fileDescription, testDescription); + doSkips(testDef("unified-test-format/retryable-reads", fileDescription, testDescription)); } - public static void doSkips(final String fileDescription, @SuppressWarnings("unused") final String testDescription) { - // Skipped because driver removed the deprecated count methods - assumeFalse(fileDescription.equals("count")); - assumeFalse(fileDescription.equals("count-serverErrors")); - // Skipped because the driver never had these methods - assumeFalse(fileDescription.equals("listDatabaseObjects")); - assumeFalse(fileDescription.equals("listDatabaseObjects-serverErrors")); - assumeFalse(fileDescription.equals("listCollectionObjects")); - assumeFalse(fileDescription.equals("listCollectionObjects-serverErrors")); - - // JAVA-5224 - assumeFalse(fileDescription.equals("ReadConcernMajorityNotAvailableYet is a retryable read") - && testDescription.equals("Find succeeds on second attempt after ReadConcernMajorityNotAvailableYet"), - "JAVA-5224"); + public static void doSkips(final TestDef def) { + def.skipDeprecated("Deprecated feature removed") + .file("retryable-reads", "count") + .file("retryable-reads", "count-serverErrors"); + + def.skipDeprecated("Deprecated feature never implemented") + .file("retryable-reads", "listDatabaseObjects") + .file("retryable-reads", "listDatabaseObjects-serverErrors") + .file("retryable-reads", "listCollectionObjects") + .file("retryable-reads", "listCollectionObjects-serverErrors"); + + def.skipJira("https://jira.mongodb.org/browse/JAVA-5224") + .test("retryable-reads", "ReadConcernMajorityNotAvailableYet is a retryable read", "Find succeeds on second attempt after ReadConcernMajorityNotAvailableYet"); } private static Collection data() throws URISyntaxException, IOException { diff --git a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedRetryableWritesTest.java b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedRetryableWritesTest.java index ffd44441c81..57aa47cbb62 100644 --- a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedRetryableWritesTest.java +++ b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedRetryableWritesTest.java @@ -16,6 +16,7 @@ package com.mongodb.client.unified; +import com.mongodb.client.unified.UnifiedTestSkips.TestDef; import org.junit.jupiter.params.provider.Arguments; import java.io.IOException; @@ -25,24 +26,27 @@ import static com.mongodb.ClusterFixture.isDiscoverableReplicaSet; import static com.mongodb.ClusterFixture.isSharded; import static com.mongodb.ClusterFixture.serverVersionLessThan; -import static org.junit.jupiter.api.Assumptions.assumeFalse; +import static com.mongodb.client.unified.UnifiedTestSkips.testDef; public final class UnifiedRetryableWritesTest extends UnifiedSyncTest { @Override protected void skips(final String fileDescription, final String testDescription) { - doSkips(testDescription); + doSkips(testDef("unified-test-format/retryable-writes", fileDescription, testDescription)); } - public static void doSkips(final String description) { + public static void doSkips(final TestDef def) { if (isSharded() && serverVersionLessThan(5, 0)) { - assumeFalse(description.contains("succeeds after WriteConcernError")); - assumeFalse(description.contains("succeeds after retryable writeConcernError")); + def.skipJira("https://jira.mongodb.org/browse/JAVA-5125") + .testContains("retryable-writes", "succeeds after WriteConcernError") + .testContains("retryable-writes", "succeeds after retryable writeConcernError"); } if (isDiscoverableReplicaSet() && serverVersionLessThan(4, 4)) { - assumeFalse(description.equals("RetryableWriteError label is added based on writeConcernError in pre-4.4 mongod response")); + def.skipJira("https://jira.mongodb.org/browse/JAVA-5341") + .test("retryable-writes", "insertOne-serverErrors", "RetryableWriteError label is added based on writeConcernError in pre-4.4 mongod response"); } - assumeFalse(description.contains("client bulkWrite"), "JAVA-4586"); - assumeFalse(description.contains("client.clientBulkWrite"), "JAVA-4586"); + def.skipJira("https://jira.mongodb.org/browse/JAVA-4586") + .testContains("retryable-writes", "client bulkWrite") + .testContains("retryable-writes", "client.clientBulkWrite"); } private static Collection data() throws URISyntaxException, IOException { diff --git a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedServerDiscoveryAndMonitoringTest.java b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedServerDiscoveryAndMonitoringTest.java index fbdc5f4ea3e..8f7662ec92b 100644 --- a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedServerDiscoveryAndMonitoringTest.java +++ b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedServerDiscoveryAndMonitoringTest.java @@ -22,7 +22,8 @@ import java.net.URISyntaxException; import java.util.Collection; -import static org.junit.jupiter.api.Assumptions.assumeFalse; +import static com.mongodb.client.unified.UnifiedTestSkips.TestDef; +import static com.mongodb.client.unified.UnifiedTestSkips.testDef; public final class UnifiedServerDiscoveryAndMonitoringTest extends UnifiedSyncTest { private static Collection data() throws URISyntaxException, IOException { @@ -31,30 +32,30 @@ private static Collection data() throws URISyntaxException, IOExcepti @Override protected void skips(final String fileDescription, final String testDescription) { - doSkips(fileDescription, testDescription); + doSkips(testDef("unified-test-format/server-discovery-and-monitoring", fileDescription, testDescription)); } - public static void doSkips(final String fileDescription, final String testDescription) { - assumeFalse(testDescription.equals("connect with serverMonitoringMode=auto >=4.4"), - "Skipping because our server monitoring events behave differently for now"); - assumeFalse(testDescription.equals("connect with serverMonitoringMode=stream >=4.4"), - "Skipping because our server monitoring events behave differently for now"); - - assumeFalse(fileDescription.equals("standalone-logging"), "Skipping until JAVA-4770 is implemented"); - assumeFalse(fileDescription.equals("replicaset-logging"), "Skipping until JAVA-4770 is implemented"); - assumeFalse(fileDescription.equals("sharded-logging"), "Skipping until JAVA-4770 is implemented"); - assumeFalse(fileDescription.equals("loadbalanced-logging"), "Skipping until JAVA-4770 is implemented"); - - assumeFalse(fileDescription.equals("standalone-emit-topology-description-changed-before-close"), - "Skipping until JAVA-5229 is implemented"); - assumeFalse(fileDescription.equals("replicaset-emit-topology-description-changed-before-close"), - "Skipping until JAVA-5229 is implemented"); - assumeFalse(fileDescription.equals("sharded-emit-topology-description-changed-before-close"), - "Skipping until JAVA-5229 is implemented"); - assumeFalse(fileDescription.equals("loadbalanced-emit-topology-description-changed-before-close"), - "Skipping until JAVA-5229 is implemented"); - - assumeFalse(testDescription.equals("poll waits after successful heartbeat"), "Skipping until JAVA-5564 is implemented"); - assumeFalse(fileDescription.equals("interruptInUse"), "Skipping until JAVA-4536 is implemented"); + public static void doSkips(final TestDef def) { + def.skipJira("https://jira.mongodb.org/browse/JAVA-5230") + .file("server-discovery-and-monitoring", "connect with serverMonitoringMode=auto >=4.4") + .file("server-discovery-and-monitoring", "connect with serverMonitoringMode=stream >=4.4"); + + def.skipJira("https://jira.mongodb.org/browse/JAVA-4770") + .file("server-discovery-and-monitoring", "standalone-logging") + .file("server-discovery-and-monitoring", "replicaset-logging") + .file("server-discovery-and-monitoring", "sharded-logging") + .file("server-discovery-and-monitoring", "loadbalanced-logging"); + + def.skipJira("https://jira.mongodb.org/browse/JAVA-5229") + .file("server-discovery-and-monitoring", "standalone-emit-topology-description-changed-before-close") + .file("server-discovery-and-monitoring", "replicaset-emit-topology-description-changed-before-close") + .file("server-discovery-and-monitoring", "sharded-emit-topology-description-changed-before-close") + .file("server-discovery-and-monitoring", "loadbalanced-emit-topology-description-changed-before-close"); + + def.skipJira("https://jira.mongodb.org/browse/JAVA-5564") + .test("server-discovery-and-monitoring", "serverMonitoringMode", "poll waits after successful heartbeat"); + + def.skipJira("https://jira.mongodb.org/browse/JAVA-4536") + .file("server-discovery-and-monitoring", "interruptInUse"); } } diff --git a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestSkips.java b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestSkips.java new file mode 100644 index 00000000000..8006715a063 --- /dev/null +++ b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestSkips.java @@ -0,0 +1,80 @@ +package com.mongodb.client.unified; + +import com.mongodb.assertions.Assertions; + +import static org.junit.jupiter.api.Assumptions.assumeFalse; + +public class UnifiedTestSkips { + + public static TestDef testDef(final String dir, final String file, final String test) { + return new TestDef(dir, file, test); + } + + public static class TestDef { + private final String dir; + private final String file; + private final String test; + + private TestDef(final String dir, final String file, final String test) { + this.dir = dir; + this.file = file; + this.test = test; + } + + /** + * @param skip reason for skipping the test; must start with a Jira URL + */ + public Skip skipJira(final String skip) { + Assertions.assertTrue(skip.startsWith("https://jira.mongodb.org/browse/JAVA-")); + return new Skip(this, skip); + } + + /** + * @param skip reason for skipping the test + */ + public Skip skipDeprecated(final String skip) { + return new Skip(this, skip); + } + } + + public static class Skip { + private final TestDef testDef; + private final String reason; + + private Skip(final TestDef testDef, final String reason) { + this.testDef = testDef; + this.reason = reason; + } + + /** + * All tests in file under dir skipped. + */ + public Skip file(final String dir, final String file) { + boolean match = ("unified-test-format/" + dir).equals(testDef.dir) + && file.equals(testDef.file); + assumeFalse(match, reason); + return this; + } + + /** + * Test skipped if dir, file, and test match. + */ + public Skip test(final String dir, final String file, final String test) { + boolean match = ("unified-test-format/" + dir).equals(testDef.dir) + && file.equals(testDef.file) + && test.equals(testDef.test); + assumeFalse(match, reason); + return this; + } + + /** + * Test skipped if the test description contains the fragment as a substring + */ + public Skip testContains(final String dir, final String fragment) { + boolean match = ("unified-test-format/" + dir).equals(testDef.dir) + && testDef.test.contains(fragment); + assumeFalse(match, reason); + return this; + } + } +} From 048bb6d1440122def6e4a2320a8daa51cd43a42e Mon Sep 17 00:00:00 2001 From: Maxim Katcharov Date: Thu, 31 Oct 2024 09:32:50 -0600 Subject: [PATCH 2/5] Add docs, non-compliant method --- .../mongodb/client/unified/UnifiedTestSkips.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestSkips.java b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestSkips.java index 8006715a063..5b4695d190f 100644 --- a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestSkips.java +++ b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestSkips.java @@ -22,6 +22,9 @@ private TestDef(final String dir, final String file, final String test) { } /** + * Test is skipped because it is pending implementation, and there is + * a Jira ticket tracking this which has more information. + * * @param skip reason for skipping the test; must start with a Jira URL */ public Skip skipJira(final String skip) { @@ -30,11 +33,23 @@ public Skip skipJira(final String skip) { } /** + * Test is skipped because the feature under test was deprecated, and + * was removed in the Java driver. + * * @param skip reason for skipping the test */ public Skip skipDeprecated(final String skip) { return new Skip(this, skip); } + + /** + * Test is skipped because the Java driver cannot comply with the spec. + * + * @param skip reason for skipping the test + */ + public Skip skipNoncompliant(final String skip) { + return new Skip(this, skip); + } } public static class Skip { From 2689fa6b2a24836d2b7258bd1a3e8bf67a41ffa8 Mon Sep 17 00:00:00 2001 From: Maxim Katcharov Date: Thu, 31 Oct 2024 10:12:29 -0600 Subject: [PATCH 3/5] Fix static checks --- .../client/unified/UnifiedTestSkips.java | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestSkips.java b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestSkips.java index 5b4695d190f..45e59754f0f 100644 --- a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestSkips.java +++ b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestSkips.java @@ -1,16 +1,34 @@ +/* + * Copyright 2008-present MongoDB, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package com.mongodb.client.unified; import com.mongodb.assertions.Assertions; import static org.junit.jupiter.api.Assumptions.assumeFalse; -public class UnifiedTestSkips { +public final class UnifiedTestSkips { + + private UnifiedTestSkips() {} public static TestDef testDef(final String dir, final String file, final String test) { return new TestDef(dir, file, test); } - public static class TestDef { + public static final class TestDef { private final String dir; private final String file; private final String test; @@ -52,7 +70,7 @@ public Skip skipNoncompliant(final String skip) { } } - public static class Skip { + public static final class Skip { private final TestDef testDef; private final String reason; From a28e6155ee5d10e42af013971629165ccc63d5d5 Mon Sep 17 00:00:00 2001 From: Maxim Katcharov Date: Fri, 1 Nov 2024 07:37:43 -0600 Subject: [PATCH 4/5] PR fixes --- .../client/unified/UnifiedRetryableWritesTest.java | 2 +- .../com/mongodb/client/unified/UnifiedTestSkips.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedRetryableWritesTest.java b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedRetryableWritesTest.java index 57aa47cbb62..ab15619b7fc 100644 --- a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedRetryableWritesTest.java +++ b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedRetryableWritesTest.java @@ -42,7 +42,7 @@ public static void doSkips(final TestDef def) { } if (isDiscoverableReplicaSet() && serverVersionLessThan(4, 4)) { def.skipJira("https://jira.mongodb.org/browse/JAVA-5341") - .test("retryable-writes", "insertOne-serverErrors", "RetryableWriteError label is added based on writeConcernError in pre-4.4 mongod response"); + .test("retryable-writes", "retryable-writes insertOne serverErrors", "RetryableWriteError label is added based on writeConcernError in pre-4.4 mongod response"); } def.skipJira("https://jira.mongodb.org/browse/JAVA-4586") .testContains("retryable-writes", "client bulkWrite") diff --git a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestSkips.java b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestSkips.java index 45e59754f0f..cd2a14247e3 100644 --- a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestSkips.java +++ b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestSkips.java @@ -81,6 +81,9 @@ private Skip(final TestDef testDef, final String reason) { /** * All tests in file under dir skipped. + * @param dir the directory name + * @param file the test file's "description" field + * @return this */ public Skip file(final String dir, final String file) { boolean match = ("unified-test-format/" + dir).equals(testDef.dir) @@ -91,6 +94,10 @@ public Skip file(final String dir, final String file) { /** * Test skipped if dir, file, and test match. + * @param dir the directory name + * @param file the test file's "description" field + * @param test the individual test's "description" field + * @return this */ public Skip test(final String dir, final String file, final String test) { boolean match = ("unified-test-format/" + dir).equals(testDef.dir) @@ -102,6 +109,10 @@ public Skip test(final String dir, final String file, final String test) { /** * Test skipped if the test description contains the fragment as a substring + * Avoid using this, except during development. + * @param dir the directory name + * @param fragment the substring to check in the test "description" field + * @return this */ public Skip testContains(final String dir, final String fragment) { boolean match = ("unified-test-format/" + dir).equals(testDef.dir) From b08ab3aac84d8e707613cd098ae76e106ce2a633 Mon Sep 17 00:00:00 2001 From: Maxim Katcharov Date: Fri, 1 Nov 2024 08:08:37 -0600 Subject: [PATCH 5/5] Fix test --- .../unified/UnifiedServerDiscoveryAndMonitoringTest.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedServerDiscoveryAndMonitoringTest.java b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedServerDiscoveryAndMonitoringTest.java index 8f7662ec92b..89f81073d88 100644 --- a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedServerDiscoveryAndMonitoringTest.java +++ b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedServerDiscoveryAndMonitoringTest.java @@ -37,24 +37,20 @@ protected void skips(final String fileDescription, final String testDescription) public static void doSkips(final TestDef def) { def.skipJira("https://jira.mongodb.org/browse/JAVA-5230") - .file("server-discovery-and-monitoring", "connect with serverMonitoringMode=auto >=4.4") - .file("server-discovery-and-monitoring", "connect with serverMonitoringMode=stream >=4.4"); - + .test("server-discovery-and-monitoring", "serverMonitoringMode", "connect with serverMonitoringMode=auto >=4.4") + .test("server-discovery-and-monitoring", "serverMonitoringMode", "connect with serverMonitoringMode=stream >=4.4"); def.skipJira("https://jira.mongodb.org/browse/JAVA-4770") .file("server-discovery-and-monitoring", "standalone-logging") .file("server-discovery-and-monitoring", "replicaset-logging") .file("server-discovery-and-monitoring", "sharded-logging") .file("server-discovery-and-monitoring", "loadbalanced-logging"); - def.skipJira("https://jira.mongodb.org/browse/JAVA-5229") .file("server-discovery-and-monitoring", "standalone-emit-topology-description-changed-before-close") .file("server-discovery-and-monitoring", "replicaset-emit-topology-description-changed-before-close") .file("server-discovery-and-monitoring", "sharded-emit-topology-description-changed-before-close") .file("server-discovery-and-monitoring", "loadbalanced-emit-topology-description-changed-before-close"); - def.skipJira("https://jira.mongodb.org/browse/JAVA-5564") .test("server-discovery-and-monitoring", "serverMonitoringMode", "poll waits after successful heartbeat"); - def.skipJira("https://jira.mongodb.org/browse/JAVA-4536") .file("server-discovery-and-monitoring", "interruptInUse"); }