@@ -74,6 +74,8 @@ public abstract class MongoClientJsonDrivenTestRunnerBase : LoggableTestClass
74
74
75
75
protected IServer _failPointServer = null ;
76
76
77
+ protected BsonDocument LastKnownClusterTime { get ; set ; }
78
+
77
79
// public constructors
78
80
public MongoClientJsonDrivenTestRunnerBase ( ITestOutputHelper testOutputHelper )
79
81
: base ( testOutputHelper )
@@ -218,8 +220,11 @@ protected virtual void CreateCollection(IMongoClient client, string databaseName
218
220
{
219
221
Logger . LogDebug ( "Creating collection {0} in {1} db" , databaseName , collectionName ) ;
220
222
223
+ var session = client . StartSession ( ) ;
221
224
var database = client . GetDatabase ( databaseName ) . WithWriteConcern ( WriteConcern . WMajority ) ;
222
- database . CreateCollection ( collectionName ) ;
225
+ database . CreateCollection ( session , collectionName ) ;
226
+
227
+ LastKnownClusterTime = session . ClusterTime ;
223
228
}
224
229
225
230
protected virtual MongoClient CreateClientForTestSetup ( )
@@ -288,13 +293,21 @@ protected virtual void InsertData(IMongoClient client, string databaseName, stri
288
293
289
294
if ( shared . Contains ( DataKey ) )
290
295
{
296
+ BsonDocument lastServerTime = null ;
291
297
var documents = shared [ DataKey ] . AsBsonArray . Cast < BsonDocument > ( ) . ToList ( ) ;
298
+
292
299
if ( documents . Count > 0 )
293
300
{
301
+ var session = client . StartSession ( ) ;
302
+
294
303
var database = client . GetDatabase ( databaseName ) ;
295
304
var collection = database . GetCollection < BsonDocument > ( collectionName ) . WithWriteConcern ( WriteConcern . WMajority ) ;
296
- collection . InsertMany ( documents ) ;
305
+ collection . InsertMany ( session , documents ) ;
306
+
307
+ lastServerTime = session . ClusterTime ;
297
308
}
309
+
310
+ LastKnownClusterTime = lastServerTime ?? LastKnownClusterTime ;
298
311
}
299
312
}
300
313
0 commit comments