Skip to content

Commit 722d983

Browse files
authored
Migrate com.mongodb.client.unified.UnifiedTest and all its descendants/users to JUnit 5 (#1410)
JAVA-5495
1 parent 42fec75 commit 722d983

File tree

50 files changed

+468
-754
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+468
-754
lines changed

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ ext {
5757
awsSdkV1Version = '1.12.337'
5858
mongoCryptVersion = '1.10.0-SNAPSHOT'
5959
projectReactorVersion = '2022.0.0'
60-
junitBomVersion = '5.8.2'
60+
junitBomVersion = '5.10.2'
6161
logbackVersion = '1.3.14'
6262
gitVersion = getGitVersion()
6363
}

driver-kotlin-coroutine/src/integration/kotlin/com/mongodb/kotlin/client/coroutine/UnifiedCrudTest.kt

+6-17
Original file line numberDiff line numberDiff line change
@@ -15,32 +15,21 @@
1515
*/
1616
package com.mongodb.kotlin.client.coroutine
1717

18-
import com.mongodb.client.unified.UnifiedCrudTest.customSkips
18+
import com.mongodb.client.unified.UnifiedCrudTest.doSkips
1919
import java.io.IOException
2020
import java.net.URISyntaxException
21-
import org.bson.BsonArray
22-
import org.bson.BsonDocument
23-
import org.junit.runners.Parameterized
21+
import org.junit.jupiter.params.provider.Arguments
2422

25-
internal class UnifiedCrudTest(
26-
fileDescription: String?,
27-
testDescription: String,
28-
schemaVersion: String,
29-
runOnRequirements: BsonArray?,
30-
entitiesArray: BsonArray,
31-
initialData: BsonArray,
32-
definition: BsonDocument
33-
) : UnifiedTest(fileDescription, schemaVersion, runOnRequirements, entitiesArray, initialData, definition) {
23+
internal class UnifiedCrudTest() : UnifiedTest() {
3424

35-
init {
36-
customSkips(fileDescription, testDescription)
25+
override fun skips(fileDescription: String, testDescription: String) {
26+
doSkips(fileDescription, testDescription)
3727
}
3828

3929
companion object {
4030
@JvmStatic
41-
@Parameterized.Parameters(name = "{0}: {1}")
4231
@Throws(URISyntaxException::class, IOException::class)
43-
fun data(): Collection<Array<Any?>?>? {
32+
fun data(): Collection<Arguments>? {
4433
return getTestData("unified-test-format/crud")
4534
}
4635
}

driver-kotlin-coroutine/src/integration/kotlin/com/mongodb/kotlin/client/coroutine/UnifiedTest.kt

+1-10
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,8 @@ import com.mongodb.client.gridfs.GridFSBucket
2323
import com.mongodb.client.unified.UnifiedTest as JUnifiedTest
2424
import com.mongodb.client.vault.ClientEncryption
2525
import com.mongodb.kotlin.client.coroutine.syncadapter.SyncMongoClient
26-
import org.bson.BsonArray
27-
import org.bson.BsonDocument
2826

29-
internal abstract class UnifiedTest(
30-
fileDescription: String?,
31-
schemaVersion: String,
32-
runOnRequirements: BsonArray?,
33-
entitiesArray: BsonArray,
34-
initialData: BsonArray,
35-
definition: BsonDocument
36-
) : JUnifiedTest(fileDescription, schemaVersion, runOnRequirements, entitiesArray, initialData, definition) {
27+
internal abstract class UnifiedTest() : JUnifiedTest() {
3728

3829
override fun createMongoClient(settings: MongoClientSettings): JMongoClient =
3930
SyncMongoClient(MongoClient.create(settings))

driver-kotlin-sync/src/integration/kotlin/com/mongodb/kotlin/client/UnifiedCrudTest.kt

+6-17
Original file line numberDiff line numberDiff line change
@@ -15,32 +15,21 @@
1515
*/
1616
package com.mongodb.kotlin.client
1717

18-
import com.mongodb.client.unified.UnifiedCrudTest.customSkips
18+
import com.mongodb.client.unified.UnifiedCrudTest.doSkips
1919
import java.io.IOException
2020
import java.net.URISyntaxException
21-
import org.bson.BsonArray
22-
import org.bson.BsonDocument
23-
import org.junit.runners.Parameterized
21+
import org.junit.jupiter.params.provider.Arguments
2422

25-
internal class UnifiedCrudTest(
26-
fileDescription: String?,
27-
testDescription: String,
28-
schemaVersion: String,
29-
runOnRequirements: BsonArray?,
30-
entitiesArray: BsonArray,
31-
initialData: BsonArray,
32-
definition: BsonDocument
33-
) : UnifiedTest(fileDescription, schemaVersion, runOnRequirements, entitiesArray, initialData, definition) {
23+
internal class UnifiedCrudTest() : UnifiedTest() {
3424

35-
init {
36-
customSkips(fileDescription, testDescription)
25+
override fun skips(fileDescription: String, testDescription: String) {
26+
doSkips(fileDescription, testDescription)
3727
}
3828

3929
companion object {
4030
@JvmStatic
41-
@Parameterized.Parameters(name = "{0}: {1}")
4231
@Throws(URISyntaxException::class, IOException::class)
43-
fun data(): Collection<Array<Any?>?>? {
32+
fun data(): Collection<Arguments>? {
4433
return getTestData("unified-test-format/crud")
4534
}
4635
}

driver-kotlin-sync/src/integration/kotlin/com/mongodb/kotlin/client/UnifiedTest.kt

+1-10
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,8 @@ import com.mongodb.client.gridfs.GridFSBucket
2323
import com.mongodb.client.unified.UnifiedTest as JUnifiedTest
2424
import com.mongodb.client.vault.ClientEncryption
2525
import com.mongodb.kotlin.client.syncadapter.SyncMongoClient
26-
import org.bson.BsonArray
27-
import org.bson.BsonDocument
2826

29-
internal abstract class UnifiedTest(
30-
fileDescription: String?,
31-
schemaVersion: String,
32-
runOnRequirements: BsonArray?,
33-
entitiesArray: BsonArray,
34-
initialData: BsonArray,
35-
definition: BsonDocument
36-
) : JUnifiedTest(fileDescription, schemaVersion, runOnRequirements, entitiesArray, initialData, definition) {
27+
internal abstract class UnifiedTest() : JUnifiedTest() {
3728

3829
override fun createMongoClient(settings: MongoClientSettings): JMongoClient =
3930
SyncMongoClient(MongoClient.create(settings))

driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/ChangeStreamsTest.java

+28-15
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@
1919
import com.mongodb.lang.Nullable;
2020
import org.bson.BsonArray;
2121
import org.bson.BsonDocument;
22-
import org.junit.After;
23-
import org.junit.runners.Parameterized;
22+
import org.junit.jupiter.api.AfterEach;
23+
import org.junit.jupiter.api.BeforeEach;
24+
import org.junit.jupiter.params.provider.Arguments;
2425

2526
import java.io.IOException;
2627
import java.net.URISyntaxException;
@@ -32,9 +33,9 @@
3233
import static com.mongodb.reactivestreams.client.syncadapter.SyncMongoClient.disableWaitForBatchCursorCreation;
3334
import static com.mongodb.reactivestreams.client.syncadapter.SyncMongoClient.enableSleepAfterCursorOpen;
3435
import static com.mongodb.reactivestreams.client.syncadapter.SyncMongoClient.enableWaitForBatchCursorCreation;
35-
import static org.junit.Assume.assumeFalse;
36+
import static org.junit.jupiter.api.Assumptions.assumeFalse;
3637

37-
public final class ChangeStreamsTest extends UnifiedReactiveStreamsTest {
38+
final class ChangeStreamsTest extends UnifiedReactiveStreamsTest {
3839

3940
private static final List<String> ERROR_REQUIRED_FROM_CHANGE_STREAM_INITIALIZATION_TESTS =
4041
Arrays.asList(
@@ -54,32 +55,44 @@ public final class ChangeStreamsTest extends UnifiedReactiveStreamsTest {
5455
+ "but instead depend on a server error"
5556
);
5657

57-
58-
public ChangeStreamsTest(@SuppressWarnings("unused") final String fileDescription,
59-
@SuppressWarnings("unused") final String testDescription,
60-
final String schemaVersion, @Nullable final BsonArray runOnRequirements, final BsonArray entities,
61-
final BsonArray initialData, final BsonDocument definition) {
62-
super(schemaVersion, runOnRequirements, entities, initialData, definition);
63-
58+
@Override
59+
protected void skips(final String fileDescription, final String testDescription) {
6460
assumeFalse(ERROR_REQUIRED_FROM_CHANGE_STREAM_INITIALIZATION_TESTS.contains(testDescription));
6561
assumeFalse(EVENT_SENSITIVE_TESTS.contains(testDescription));
62+
}
6663

64+
@BeforeEach
65+
@Override
66+
public void setUp(@Nullable final String fileDescription,
67+
@Nullable final String testDescription,
68+
final String schemaVersion,
69+
@Nullable final BsonArray runOnRequirements,
70+
final BsonArray entitiesArray,
71+
final BsonArray initialData,
72+
final BsonDocument definition) {
73+
super.setUp(
74+
fileDescription,
75+
testDescription,
76+
schemaVersion,
77+
runOnRequirements,
78+
entitiesArray,
79+
initialData,
80+
definition);
6781
enableSleepAfterCursorOpen(256);
68-
6982
if (REQUIRES_BATCH_CURSOR_CREATION_WAITING.contains(testDescription)) {
7083
enableWaitForBatchCursorCreation();
7184
}
7285
}
7386

74-
@After
87+
@AfterEach
88+
@Override
7589
public void cleanUp() {
7690
super.cleanUp();
7791
disableSleep();
7892
disableWaitForBatchCursorCreation();
7993
}
8094

81-
@Parameterized.Parameters(name = "{0}: {1}")
82-
public static Collection<Object[]> data() throws URISyntaxException, IOException {
95+
private static Collection<Arguments> data() throws URISyntaxException, IOException {
8396
return getTestData("unified-test-format/change-streams");
8497
}
8598
}

driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/ClientSideEncryptionTest.java

+3-16
Original file line numberDiff line numberDiff line change
@@ -16,27 +16,14 @@
1616

1717
package com.mongodb.reactivestreams.client.unified;
1818

19-
import com.mongodb.lang.Nullable;
20-
import org.bson.BsonArray;
21-
import org.bson.BsonDocument;
22-
import org.junit.runners.Parameterized;
19+
import org.junit.jupiter.params.provider.Arguments;
2320

2421
import java.io.IOException;
2522
import java.net.URISyntaxException;
2623
import java.util.Collection;
2724

28-
public class ClientSideEncryptionTest extends UnifiedReactiveStreamsTest {
29-
public ClientSideEncryptionTest(@SuppressWarnings("unused") final String fileDescription,
30-
@SuppressWarnings("unused") final String testDescription,
31-
final String schemaVersion, @Nullable final BsonArray runOnRequirements, final BsonArray entities,
32-
final BsonArray initialData, final BsonDocument definition) {
33-
super(schemaVersion, runOnRequirements, entities, initialData, definition);
34-
}
35-
36-
@Parameterized.Parameters(name = "{0}: {1}")
37-
public static Collection<Object[]> data() throws URISyntaxException, IOException {
25+
final class ClientSideEncryptionTest extends UnifiedReactiveStreamsTest {
26+
private static Collection<Arguments> data() throws URISyntaxException, IOException {
3827
return getTestData("unified-test-format/client-side-encryption");
3928
}
40-
4129
}
42-

driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/CollectionManagementTest.java

+6-13
Original file line numberDiff line numberDiff line change
@@ -16,28 +16,21 @@
1616

1717
package com.mongodb.reactivestreams.client.unified;
1818

19-
import com.mongodb.lang.Nullable;
20-
import org.bson.BsonArray;
21-
import org.bson.BsonDocument;
22-
import org.junit.runners.Parameterized;
19+
import org.junit.jupiter.params.provider.Arguments;
2320

2421
import java.io.IOException;
2522
import java.net.URISyntaxException;
2623
import java.util.Collection;
2724

28-
import static org.junit.Assume.assumeFalse;
25+
import static org.junit.jupiter.api.Assumptions.assumeFalse;
2926

30-
public class CollectionManagementTest extends UnifiedReactiveStreamsTest {
31-
public CollectionManagementTest(@SuppressWarnings("unused") final String fileDescription,
32-
@SuppressWarnings("unused") final String testDescription,
33-
final String schemaVersion, @Nullable final BsonArray runOnRequirements, final BsonArray entities,
34-
final BsonArray initialData, final BsonDocument definition) {
35-
super(schemaVersion, runOnRequirements, entities, initialData, definition);
27+
final class CollectionManagementTest extends UnifiedReactiveStreamsTest {
28+
@Override
29+
protected void skips(final String fileDescription, final String testDescription) {
3630
assumeFalse(testDescription.equals("modifyCollection to changeStreamPreAndPostImages enabled"));
3731
}
3832

39-
@Parameterized.Parameters(name = "{0}: {1}")
40-
public static Collection<Object[]> data() throws URISyntaxException, IOException {
33+
private static Collection<Arguments> data() throws URISyntaxException, IOException {
4134
return getTestData("unified-test-format/collection-management");
4235
}
4336
}

driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/CommandLoggingTest.java

+6-13
Original file line numberDiff line numberDiff line change
@@ -16,30 +16,23 @@
1616

1717
package com.mongodb.reactivestreams.client.unified;
1818

19-
import com.mongodb.lang.Nullable;
20-
import org.bson.BsonArray;
21-
import org.bson.BsonDocument;
22-
import org.junit.runners.Parameterized;
19+
import org.junit.jupiter.params.provider.Arguments;
2320

2421
import java.io.IOException;
2522
import java.net.URISyntaxException;
2623
import java.util.Collection;
2724

28-
import static org.junit.Assume.assumeFalse;
25+
import static org.junit.jupiter.api.Assumptions.assumeFalse;
2926

30-
public class CommandLoggingTest extends UnifiedReactiveStreamsTest {
31-
public CommandLoggingTest(@SuppressWarnings("unused") final String fileDescription,
32-
@SuppressWarnings("unused") final String testDescription,
33-
final String schemaVersion, @Nullable final BsonArray runOnRequirements, final BsonArray entities,
34-
final BsonArray initialData, final BsonDocument definition) {
35-
super(schemaVersion, runOnRequirements, entities, initialData, definition);
27+
final class CommandLoggingTest extends UnifiedReactiveStreamsTest {
28+
@Override
29+
protected void skips(final String fileDescription, final String testDescription) {
3630
// The driver has a hack where getLastError command is executed as part of the handshake in order to get a connectionId
3731
// even when the hello command response doesn't contain it.
3832
assumeFalse(fileDescription.equals("pre-42-server-connection-id"));
3933
}
4034

41-
@Parameterized.Parameters(name = "{0}: {1}")
42-
public static Collection<Object[]> data() throws URISyntaxException, IOException {
35+
private static Collection<Arguments> data() throws URISyntaxException, IOException {
4336
return getTestData("unified-test-format/command-logging");
4437
}
4538
}

driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/CommandMonitoringTest.java

+6-13
Original file line numberDiff line numberDiff line change
@@ -16,30 +16,23 @@
1616

1717
package com.mongodb.reactivestreams.client.unified;
1818

19-
import com.mongodb.lang.Nullable;
20-
import org.bson.BsonArray;
21-
import org.bson.BsonDocument;
22-
import org.junit.runners.Parameterized;
19+
import org.junit.jupiter.params.provider.Arguments;
2320

2421
import java.io.IOException;
2522
import java.net.URISyntaxException;
2623
import java.util.Collection;
2724

28-
import static org.junit.Assume.assumeFalse;
25+
import static org.junit.jupiter.api.Assumptions.assumeFalse;
2926

30-
public class CommandMonitoringTest extends UnifiedReactiveStreamsTest {
31-
public CommandMonitoringTest(@SuppressWarnings("unused") final String fileDescription,
32-
@SuppressWarnings("unused") final String testDescription,
33-
final String schemaVersion, @Nullable final BsonArray runOnRequirements, final BsonArray entities,
34-
final BsonArray initialData, final BsonDocument definition) {
35-
super(schemaVersion, runOnRequirements, entities, initialData, definition);
27+
final class CommandMonitoringTest extends UnifiedReactiveStreamsTest {
28+
@Override
29+
protected void skips(final String fileDescription, final String testDescription) {
3630
// The driver has a hack where getLastError command is executed as part of the handshake in order to get a connectionId
3731
// even when the hello command response doesn't contain it.
3832
assumeFalse(fileDescription.equals("pre-42-server-connection-id"));
3933
}
4034

41-
@Parameterized.Parameters(name = "{0}: {1}")
42-
public static Collection<Object[]> data() throws URISyntaxException, IOException {
35+
private static Collection<Arguments> data() throws URISyntaxException, IOException {
4336
return getTestData("unified-test-format/command-monitoring");
4437
}
4538
}

driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/ConnectionPoolLoggingTest.java

+6-16
Original file line numberDiff line numberDiff line change
@@ -16,33 +16,23 @@
1616

1717
package com.mongodb.reactivestreams.client.unified;
1818

19-
import com.mongodb.lang.Nullable;
20-
import org.bson.BsonArray;
21-
import org.bson.BsonDocument;
22-
import org.junit.runners.Parameterized;
19+
import org.junit.jupiter.params.provider.Arguments;
2320

2421
import java.io.IOException;
2522
import java.net.URISyntaxException;
2623
import java.util.Collection;
2724

28-
import static org.junit.Assume.assumeFalse;
25+
import static org.junit.jupiter.api.Assumptions.assumeFalse;
2926

30-
public class ConnectionPoolLoggingTest extends UnifiedReactiveStreamsTest {
31-
32-
33-
public ConnectionPoolLoggingTest(@SuppressWarnings("unused") final String fileDescription,
34-
@SuppressWarnings("unused") final String testDescription,
35-
final String schemaVersion,
36-
@Nullable final BsonArray runOnRequirements, final BsonArray entities, final BsonArray initialData,
37-
final BsonDocument definition) {
38-
super(schemaVersion, runOnRequirements, entities, initialData, definition);
27+
final class ConnectionPoolLoggingTest extends UnifiedReactiveStreamsTest {
28+
@Override
29+
protected void skips(final String fileDescription, final String testDescription) {
3930
// The implementation of the functionality related to clearing the connection pool before closing the connection
4031
// will be carried out once the specification is finalized and ready.
4132
assumeFalse(testDescription.equals("Connection checkout fails due to error establishing connection"));
4233
}
4334

44-
@Parameterized.Parameters(name = "{0}: {1}")
45-
public static Collection<Object[]> data() throws URISyntaxException, IOException {
35+
private static Collection<Arguments> data() throws URISyntaxException, IOException {
4636
return getTestData("unified-test-format/connection-monitoring-and-pooling/logging");
4737
}
4838
}

0 commit comments

Comments
 (0)