Skip to content

Commit da9f7ce

Browse files
committed
Allow use of Netty in unified test runner
Skip SDAM integration tests in async TLS unless using Netty
1 parent 2e4718e commit da9f7ce

File tree

4 files changed

+30
-1
lines changed

4 files changed

+30
-1
lines changed

driver-core/src/test/functional/com/mongodb/ClusterFixture.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@
2828
import com.mongodb.connection.SocketStreamFactory;
2929
import com.mongodb.connection.SslSettings;
3030
import com.mongodb.connection.StreamFactory;
31+
import com.mongodb.connection.StreamFactoryFactory;
3132
import com.mongodb.connection.TlsChannelStreamFactoryFactory;
3233
import com.mongodb.connection.netty.NettyStreamFactory;
34+
import com.mongodb.connection.netty.NettyStreamFactoryFactory;
3335
import com.mongodb.internal.async.AsyncBatchCursor;
3436
import com.mongodb.internal.async.SingleResultCallback;
3537
import com.mongodb.internal.binding.AsyncClusterBinding;
@@ -106,6 +108,8 @@ public final class ClusterFixture {
106108

107109
private static ServerVersion serverVersion;
108110

111+
private static NettyStreamFactoryFactory nettyStreamFactoryFactory;
112+
109113
static {
110114
Runtime.getRuntime().addShutdownHook(new ShutdownHook());
111115
}

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@
1616

1717
package com.mongodb.reactivestreams.client;
1818

19+
import com.mongodb.ClusterFixture;
1920
import com.mongodb.MongoClientSettings;
2021
import com.mongodb.client.AbstractMainTransactionsTest;
2122
import com.mongodb.client.MongoClient;
23+
import com.mongodb.connection.StreamFactoryFactory;
2224
import com.mongodb.reactivestreams.client.syncadapter.SyncMongoClient;
2325
import org.bson.BsonArray;
2426
import org.bson.BsonDocument;
@@ -33,4 +35,9 @@ public MainTransactionsTest(final String filename, final String description, fin
3335
protected MongoClient createMongoClient(final MongoClientSettings settings) {
3436
return new SyncMongoClient(MongoClients.create(settings));
3537
}
38+
39+
@Override
40+
protected StreamFactoryFactory getStreamFactoryFactory() {
41+
return ClusterFixture.getOverriddenStreamFactoryFactory();
42+
}
3643
}

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,13 @@
1919
import com.mongodb.MongoClientSettings;
2020
import com.mongodb.client.AbstractServerDiscoveryAndMonitoringTest;
2121
import com.mongodb.client.MongoClient;
22+
import com.mongodb.connection.StreamFactoryFactory;
2223
import com.mongodb.reactivestreams.client.syncadapter.SyncMongoClient;
2324
import org.bson.BsonArray;
2425
import org.bson.BsonDocument;
2526

27+
import static com.mongodb.ClusterFixture.getOverriddenStreamFactoryFactory;
28+
2629
public class ServerDiscoveryAndMonitoringTest extends AbstractServerDiscoveryAndMonitoringTest {
2730
public ServerDiscoveryAndMonitoringTest(final String filename, final String description, final String databaseName,
2831
final String collectionName, final BsonArray data, final BsonDocument definition,
@@ -34,4 +37,9 @@ public ServerDiscoveryAndMonitoringTest(final String filename, final String desc
3437
protected MongoClient createMongoClient(final MongoClientSettings settings) {
3538
return new SyncMongoClient(MongoClients.create(settings));
3639
}
40+
41+
@Override
42+
protected StreamFactoryFactory getStreamFactoryFactory() {
43+
return getOverriddenStreamFactoryFactory();
44+
}
3745
}

driver-sync/src/test/functional/com/mongodb/client/AbstractUnifiedTest.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import com.mongodb.connection.ServerSettings;
3939
import com.mongodb.connection.ServerType;
4040
import com.mongodb.connection.SocketSettings;
41+
import com.mongodb.connection.StreamFactoryFactory;
4142
import com.mongodb.event.CommandEvent;
4243
import com.mongodb.event.CommandStartedEvent;
4344
import com.mongodb.event.ConnectionPoolClearedEvent;
@@ -131,6 +132,11 @@ public AbstractUnifiedTest(final String filename, final String description, fina
131132

132133
protected abstract MongoClient createMongoClient(MongoClientSettings settings);
133134

135+
@Nullable
136+
protected StreamFactoryFactory getStreamFactoryFactory() {
137+
return null;
138+
}
139+
134140
@Before
135141
public void setUp() {
136142
assumeFalse(skipTest);
@@ -201,7 +207,7 @@ public void apply(final ConnectionPoolSettings.Builder builder) {
201207
.applyToServerSettings(new Block<ServerSettings.Builder>() {
202208
@Override
203209
public void apply(final ServerSettings.Builder builder) {
204-
// builder.heartbeatFrequency(5, MILLISECONDS);
210+
builder.heartbeatFrequency(50, MILLISECONDS);
205211
builder.minHeartbeatFrequency(MIN_HEARTBEAT_FREQUENCY_MS, MILLISECONDS);
206212
builder.addServerListener(serverListener);
207213
}
@@ -224,6 +230,10 @@ public void apply(final ServerSettings.Builder builder) {
224230
builder.writeConcern(new WriteConcern(clientOptions.getNumber("w").intValue()));
225231
}
226232
}
233+
StreamFactoryFactory streamFactoryFactory = getStreamFactoryFactory();
234+
if (streamFactoryFactory != null) {
235+
builder.streamFactoryFactory(streamFactoryFactory);
236+
}
227237
mongoClient = createMongoClient(builder.build());
228238

229239
database = mongoClient.getDatabase(databaseName);

0 commit comments

Comments
 (0)