Skip to content

Commit 87ab777

Browse files
committed
CSHARP-2274: Add tests for passing null options to ListCollectionNames and ListCollections.
1 parent 0fe4b85 commit 87ab777

File tree

1 file changed

+32
-8
lines changed

1 file changed

+32
-8
lines changed

tests/MongoDB.Driver.Tests/MongoDatabaseImplTests.cs

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -488,15 +488,20 @@ public void DropCollection_should_execute_a_DropCollectionOperation(
488488
[ParameterAttributeData]
489489
public void ListCollectionNames_should_execute_a_ListCollectionsOperation(
490490
[Values(false, true)] bool usingSession,
491+
[Values(false, true)] bool usingOptions,
491492
[Values(false, true)] bool async)
492493
{
493494
var session = CreateSession(usingSession);
494495
var filterDocument = BsonDocument.Parse("{ name : \"awesome\" }");
495496
var filterDefinition = (FilterDefinition<BsonDocument>)filterDocument;
496-
var options = new ListCollectionNamesOptions
497+
ListCollectionNamesOptions options = null;
498+
if (usingOptions)
497499
{
498-
Filter = filterDefinition
499-
};
500+
options = new ListCollectionNamesOptions
501+
{
502+
Filter = filterDefinition
503+
};
504+
}
500505
var cancellationToken = new CancellationTokenSource().Token;
501506

502507
var mockCursor = new Mock<IAsyncCursor<BsonDocument>>();
@@ -530,8 +535,15 @@ public void ListCollectionNames_should_execute_a_ListCollectionsOperation(
530535

531536
var op = call.Operation.Should().BeOfType<ListCollectionsOperation>().Subject;
532537
op.DatabaseNamespace.Should().Be(_subject.DatabaseNamespace);
533-
op.Filter.Should().Be(filterDocument);
534538
op.NameOnly.Should().BeTrue();
539+
if (usingOptions)
540+
{
541+
op.Filter.Should().Be(filterDocument);
542+
}
543+
else
544+
{
545+
op.Filter.Should().BeNull();
546+
}
535547
}
536548

537549
[SkippableTheory]
@@ -588,15 +600,20 @@ public void ListCollectionNames_should_return_expected_result(
588600
[ParameterAttributeData]
589601
public void ListCollections_should_execute_a_ListCollectionsOperation(
590602
[Values(false, true)] bool usingSession,
603+
[Values(false, true)] bool usingOptions,
591604
[Values(false, true)] bool async)
592605
{
593606
var session = CreateSession(usingSession);
594607
var filterDocument = BsonDocument.Parse("{ name : \"awesome\" }");
595608
var filterDefinition = (FilterDefinition<BsonDocument>)filterDocument;
596-
var options = new ListCollectionsOptions
609+
ListCollectionsOptions options = null;
610+
if (usingOptions)
597611
{
598-
Filter = filterDefinition
599-
};
612+
options = new ListCollectionsOptions
613+
{
614+
Filter = filterDefinition
615+
};
616+
}
600617
var cancellationToken = new CancellationTokenSource().Token;
601618

602619
var mockCursor = new Mock<IAsyncCursor<BsonDocument>>();
@@ -630,8 +647,15 @@ public void ListCollections_should_execute_a_ListCollectionsOperation(
630647

631648
var op = call.Operation.Should().BeOfType<ListCollectionsOperation>().Subject;
632649
op.DatabaseNamespace.Should().Be(_subject.DatabaseNamespace);
633-
op.Filter.Should().Be(filterDocument);
634650
op.NameOnly.Should().NotHaveValue();
651+
if (usingOptions)
652+
{
653+
op.Filter.Should().Be(filterDocument);
654+
}
655+
else
656+
{
657+
op.Filter.Should().BeNull();
658+
}
635659
}
636660

637661
[Theory]

0 commit comments

Comments
 (0)