Skip to content

Commit cdd66b3

Browse files
committed
CSHARP-2392: Refactor change stream integration test to at least access all properties of ChangeStreamDocument.
1 parent 997e6d0 commit cdd66b3

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

tests/MongoDB.Driver.Tests/Specifications/change-streams/ChangeStreamTestRunner.cs

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -354,20 +354,33 @@ private void AssertChangeStreamDocument(ChangeStreamDocument<BsonDocument> actua
354354
{
355355
JsonDrivenHelper.EnsureAllFieldsAreValid(expectedDocument, "_id", "documentKey", "operationType", "ns", "fullDocument");
356356

357+
// assert that all properties of a ChangeStreamDocument can be accessed without an exception being thrown
358+
var backingDocument = actualDocument.BackingDocument;
359+
var clusterTime = actualDocument.ClusterTime;
360+
var collectionNamespace = actualDocument.CollectionNamespace;
361+
var documentKey = actualDocument.DocumentKey;
362+
var fullDocument = actualDocument.FullDocument;
363+
var operationType = actualDocument.OperationType;
364+
var resumeToken = actualDocument.ResumeToken;
365+
var updateDescription = actualDocument.UpdateDescription;
366+
367+
backingDocument.Should().NotBeNull();
368+
clusterTime.Should().NotBeNull();
369+
357370
if (expectedDocument.Contains("_id"))
358371
{
359-
actualDocument.ResumeToken.Should().NotBeNull();
372+
resumeToken.Should().NotBeNull();
360373
}
361374

362375
if (expectedDocument.Contains("documentKey"))
363376
{
364-
actualDocument.DocumentKey.Should().NotBeNull();
377+
documentKey.Should().NotBeNull();
365378
}
366379

367380
if (expectedDocument.Contains("operationType"))
368381
{
369382
var expectedOperationType = (ChangeStreamOperationType)Enum.Parse(typeof(ChangeStreamOperationType), expectedDocument["operationType"].AsString, ignoreCase: true);
370-
actualDocument.OperationType.Should().Be(expectedOperationType);
383+
operationType.Should().Be(expectedOperationType);
371384
}
372385

373386
if (expectedDocument.Contains("ns"))
@@ -377,15 +390,14 @@ private void AssertChangeStreamDocument(ChangeStreamDocument<BsonDocument> actua
377390
var expectedDatabaseName = ns["db"].AsString;
378391
var expectedCollectionName = ns["coll"].AsString;
379392
var expectedCollectionNamespace = new CollectionNamespace(new DatabaseNamespace(expectedDatabaseName), expectedCollectionName);
380-
actualDocument.CollectionNamespace.Should().Be(expectedCollectionNamespace);
393+
collectionNamespace.Should().Be(expectedCollectionNamespace);
381394
}
382395

383396
if (expectedDocument.Contains("fullDocument"))
384397
{
385-
var actualFullDocument = actualDocument.FullDocument;
386-
actualFullDocument.Remove("_id");
387398
var expectedFullDocument = expectedDocument["fullDocument"].AsBsonDocument;
388-
actualFullDocument.Should().Be(expectedFullDocument);
399+
fullDocument.Remove("_id");
400+
fullDocument.Should().Be(expectedFullDocument);
389401
}
390402
}
391403

0 commit comments

Comments
 (0)