Skip to content

Commit b04d99b

Browse files
committed
Use sync API for unit test Arrange and Assert sections and add some missing sync tests.
1 parent 87c11b1 commit b04d99b

Some content is hidden

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

42 files changed

+1174
-666
lines changed

src/MongoDB.Driver.Tests/AggregateFluentTests.cs

Lines changed: 44 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@ public class AggregateFluentTests
3030
private IMongoCollection<C> _collection;
3131

3232
[Test]
33-
public void As_should_add_the_expected_stage()
33+
public void As_should_add_the_expected_stage(
34+
[Values(false, true)] bool async)
3435
{
3536
var subject = CreateSubject();
3637

3738
var result = subject
3839
.Match("{ X : 1 }")
3940
.As<BsonDocument>();
40-
result.ToCursorAsync().GetAwaiter().GetResult();
4141

4242
Predicate<PipelineDefinition<C, BsonDocument>> isExpectedPipeline = pipeline =>
4343
{
@@ -48,22 +48,36 @@ public void As_should_add_the_expected_stage()
4848
renderedPipeline.OutputSerializer is BsonDocumentSerializer;
4949
};
5050

51-
_collection.Received().AggregateAsync<BsonDocument>(
52-
Arg.Is<PipelineDefinition<C, BsonDocument>>(pipeline => isExpectedPipeline(pipeline)),
53-
Arg.Any<AggregateOptions>(),
54-
CancellationToken.None);
51+
if (async)
52+
{
53+
result.ToCursorAsync().GetAwaiter().GetResult();
54+
55+
_collection.Received().AggregateAsync<BsonDocument>(
56+
Arg.Is<PipelineDefinition<C, BsonDocument>>(pipeline => isExpectedPipeline(pipeline)),
57+
Arg.Any<AggregateOptions>(),
58+
CancellationToken.None);
59+
}
60+
else
61+
{
62+
result.ToCursor();
63+
64+
_collection.Received().Aggregate<BsonDocument>(
65+
Arg.Is<PipelineDefinition<C, BsonDocument>>(pipeline => isExpectedPipeline(pipeline)),
66+
Arg.Any<AggregateOptions>(),
67+
CancellationToken.None);
68+
}
5569
}
5670

5771
[Test]
58-
public void OfType_should_add_the_expected_stage()
72+
public void OfType_should_add_the_expected_stage(
73+
[Values(false, true)] bool async)
5974
{
6075
var subject = CreateSubject();
6176

6277
var result = subject
6378
.SortBy(c => c.X)
6479
.OfType<D>()
6580
.Match(d => d.Y == 2);
66-
result.ToCursorAsync().GetAwaiter().GetResult();
6781

6882
Predicate<PipelineDefinition<C, D>> isExpectedPipeline = pipeline =>
6983
{
@@ -76,10 +90,24 @@ public void OfType_should_add_the_expected_stage()
7690
renderedPipeline.OutputSerializer.ValueType == typeof(D);
7791
};
7892

79-
_collection.Received().AggregateAsync<D>(
80-
Arg.Is<PipelineDefinition<C, D>>(pipeline => isExpectedPipeline(pipeline)),
81-
Arg.Any<AggregateOptions>(),
82-
CancellationToken.None);
93+
if (async)
94+
{
95+
result.ToCursorAsync().GetAwaiter().GetResult();
96+
97+
_collection.Received().AggregateAsync<D>(
98+
Arg.Is<PipelineDefinition<C, D>>(pipeline => isExpectedPipeline(pipeline)),
99+
Arg.Any<AggregateOptions>(),
100+
CancellationToken.None);
101+
}
102+
else
103+
{
104+
result.ToCursor();
105+
106+
_collection.Received().Aggregate<D>(
107+
Arg.Is<PipelineDefinition<C, D>>(pipeline => isExpectedPipeline(pipeline)),
108+
Arg.Any<AggregateOptions>(),
109+
CancellationToken.None);
110+
}
83111
}
84112

85113
[Test]
@@ -105,6 +133,7 @@ public void Out_should_add_the_expected_stage_and_call_Aggregate(
105133
if (async)
106134
{
107135
cursor = subject.OutAsync(collectionName, CancellationToken.None).GetAwaiter().GetResult();
136+
108137
_collection.Received().AggregateAsync<C>(
109138
Arg.Is<PipelineDefinition<C, C>>(pipeline => isExpectedPipeline(pipeline)),
110139
Arg.Any<AggregateOptions>(),
@@ -113,6 +142,7 @@ public void Out_should_add_the_expected_stage_and_call_Aggregate(
113142
else
114143
{
115144
cursor = subject.Out(collectionName, CancellationToken.None);
145+
116146
_collection.Received().Aggregate<C>(
117147
Arg.Is<PipelineDefinition<C, C>>(pipeline => isExpectedPipeline(pipeline)),
118148
Arg.Any<AggregateOptions>(),
@@ -141,6 +171,7 @@ public void ToCursor_should_call_Aggregate(
141171
if (async)
142172
{
143173
cursor = subject.ToCursorAsync(CancellationToken.None).GetAwaiter().GetResult();
174+
144175
_collection.Received().AggregateAsync<C>(
145176
Arg.Is<PipelineDefinition<C, C>>(pipeline => isExpectedPipeline(pipeline)),
146177
Arg.Any<AggregateOptions>(),
@@ -149,6 +180,7 @@ public void ToCursor_should_call_Aggregate(
149180
else
150181
{
151182
cursor = subject.ToCursor(CancellationToken.None);
183+
152184
_collection.Received().Aggregate<C>(
153185
Arg.Is<PipelineDefinition<C, C>>(pipeline => isExpectedPipeline(pipeline)),
154186
Arg.Any<AggregateOptions>(),

src/MongoDB.Driver.Tests/Communication/Security/GssapiAuthenticationTests.cs

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,8 @@ public void TestNoCredentials()
4949
client
5050
.GetDatabase(DriverTestConfiguration.DatabaseNamespace.DatabaseName)
5151
.GetCollection<BsonDocument>(__collectionName)
52-
.Find(new BsonDocument())
53-
.ToListAsync()
54-
.GetAwaiter()
55-
.GetResult();
52+
.FindSync(new BsonDocument())
53+
.ToList();
5654
});
5755
}
5856

@@ -65,10 +63,8 @@ public void TestSuccessfulAuthentication()
6563
var result = client
6664
.GetDatabase(DriverTestConfiguration.DatabaseNamespace.DatabaseName)
6765
.GetCollection<BsonDocument>(__collectionName)
68-
.Find(new BsonDocument())
69-
.ToListAsync()
70-
.GetAwaiter()
71-
.GetResult();
66+
.FindSync(new BsonDocument())
67+
.ToList();
7268

7369
Assert.IsNotNull(result);
7470
}
@@ -89,10 +85,8 @@ public void TestBadPassword()
8985
client
9086
.GetDatabase(DriverTestConfiguration.DatabaseNamespace.DatabaseName)
9187
.GetCollection<BsonDocument>(__collectionName)
92-
.Find(new BsonDocument())
93-
.ToListAsync()
94-
.GetAwaiter()
95-
.GetResult();
88+
.FindSync(new BsonDocument())
89+
.ToList();
9690
});
9791
}
9892
}

src/MongoDB.Driver.Tests/Communication/Security/PlainAuthenticationTests.cs

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,8 @@ public void TestNoCredentials()
4848
client
4949
.GetDatabase(DriverTestConfiguration.DatabaseNamespace.DatabaseName)
5050
.GetCollection<BsonDocument>(__collectionName)
51-
.Find(new BsonDocument())
52-
.ToListAsync()
53-
.GetAwaiter()
54-
.GetResult();
51+
.FindSync(new BsonDocument())
52+
.ToList();
5553
});
5654
}
5755

@@ -63,10 +61,8 @@ public void TestSuccessfulAuthentication()
6361
var result = client
6462
.GetDatabase(DriverTestConfiguration.DatabaseNamespace.DatabaseName)
6563
.GetCollection<BsonDocument>(__collectionName)
66-
.Find(new BsonDocument())
67-
.ToListAsync()
68-
.GetAwaiter()
69-
.GetResult();
64+
.FindSync(new BsonDocument())
65+
.ToList();
7066

7167
Assert.IsNotNull(result);
7268
}
@@ -87,10 +83,8 @@ public void TestBadPassword()
8783
client
8884
.GetDatabase(DriverTestConfiguration.DatabaseNamespace.DatabaseName)
8985
.GetCollection<BsonDocument>(__collectionName)
90-
.Find(new BsonDocument())
91-
.ToListAsync()
92-
.GetAwaiter()
93-
.GetResult();
86+
.FindSync(new BsonDocument())
87+
.ToList();
9488
});
9589
}
9690
}

src/MongoDB.Driver.Tests/FindFluentTests.cs

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ public class FindFluentTests
3030
private IMongoCollection<Person> _collection;
3131

3232
[Test]
33-
public void As_should_change_the_result_type()
33+
public void As_should_change_the_result_type(
34+
[Values(false, true)] bool async)
3435
{
3536
var subject = CreateSubject();
3637

3738
var result = subject.As<BsonDocument>();
38-
result.ToCursorAsync().GetAwaiter().GetResult();
3939

4040
Predicate<FindOptions<Person, BsonDocument>> hasExpectedProjection = options =>
4141
{
@@ -45,10 +45,24 @@ public void As_should_change_the_result_type()
4545
return renderedProjection.Document == null && renderedProjection.ProjectionSerializer is BsonDocumentSerializer;
4646
};
4747

48-
_collection.Received().FindAsync<BsonDocument>(
49-
subject.Filter,
50-
Arg.Is<FindOptions<Person, BsonDocument>>(options => hasExpectedProjection(options)),
51-
CancellationToken.None);
48+
if (async)
49+
{
50+
result.ToCursorAsync().GetAwaiter().GetResult();
51+
52+
_collection.Received().FindAsync<BsonDocument>(
53+
subject.Filter,
54+
Arg.Is<FindOptions<Person, BsonDocument>>(options => hasExpectedProjection(options)),
55+
CancellationToken.None);
56+
}
57+
else
58+
{
59+
result.ToCursor();
60+
61+
_collection.Received().FindSync<BsonDocument>(
62+
subject.Filter,
63+
Arg.Is<FindOptions<Person, BsonDocument>>(options => hasExpectedProjection(options)),
64+
CancellationToken.None);
65+
}
5266
}
5367

5468
[Test]

src/MongoDB.Driver.Tests/IMongoCollectionExtensionsTests.cs

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ namespace MongoDB.Driver.Tests
2727
public class IMongoCollectionExtensionsTests
2828
{
2929
[Test]
30-
public void Aggregate_should_call_collection_AggregateAsync_with_correct_options()
30+
public void Aggregate_should_call_collection_AggregateAsync_with_correct_options(
31+
[Values(false, true)] bool async)
3132
{
3233
var subject = CreateSubject();
3334

@@ -53,12 +54,25 @@ public void Aggregate_should_call_collection_AggregateAsync_with_correct_options
5354

5455
PipelineDefinition<Person, BsonDocument> actualPipeline = null;
5556
AggregateOptions actualOptions = null;
56-
subject.AggregateAsync(
57-
Arg.Do<PipelineStagePipelineDefinition<Person, BsonDocument>>(x => actualPipeline = x),
58-
Arg.Do<AggregateOptions>(x => actualOptions = x),
59-
Arg.Any<CancellationToken>());
6057

61-
fluent.ToCursorAsync(CancellationToken.None).GetAwaiter().GetResult();
58+
if (async)
59+
{
60+
subject.AggregateAsync(
61+
Arg.Do<PipelineStagePipelineDefinition<Person, BsonDocument>>(x => actualPipeline = x),
62+
Arg.Do<AggregateOptions>(x => actualOptions = x),
63+
Arg.Any<CancellationToken>());
64+
65+
fluent.ToCursorAsync(CancellationToken.None).GetAwaiter().GetResult();
66+
}
67+
else
68+
{
69+
subject.Aggregate(
70+
Arg.Do<PipelineStagePipelineDefinition<Person, BsonDocument>>(x => actualPipeline = x),
71+
Arg.Do<AggregateOptions>(x => actualOptions = x),
72+
Arg.Any<CancellationToken>());
73+
74+
fluent.ToCursor(CancellationToken.None);
75+
}
6276

6377
var inputSerializer = subject.DocumentSerializer;
6478
var serializerRegistry = subject.Settings.SerializerRegistry;

src/MongoDB.Driver.Tests/Linq/IntegrationTestBase.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ public void TestFixtureSetup()
3232
var db = client.GetDatabase(DriverTestConfiguration.DatabaseNamespace.DatabaseName);
3333
_collection = db.GetCollection<Root>(DriverTestConfiguration.CollectionNamespace.CollectionName);
3434
_otherCollection = db.GetCollection<Other>(DriverTestConfiguration.CollectionNamespace.CollectionName + "_other");
35-
db.DropCollectionAsync(_collection.CollectionNamespace.CollectionName).GetAwaiter().GetResult();
36-
db.DropCollectionAsync(_collection.CollectionNamespace.CollectionName + "_other");
35+
db.DropCollection(_collection.CollectionNamespace.CollectionName);
36+
db.DropCollection(_collection.CollectionNamespace.CollectionName + "_other");
3737

3838
InsertFirst();
3939
InsertSecond();
@@ -96,7 +96,7 @@ private void InsertFirst()
9696
T = new Dictionary<string, int> { { "one", 1 }, { "two", 2 } },
9797
U = 1.23456571661743267789m
9898
};
99-
_collection.InsertOneAsync(root).GetAwaiter().GetResult();
99+
_collection.InsertOne(root);
100100
}
101101

102102
private void InsertSecond()
@@ -146,17 +146,17 @@ private void InsertSecond()
146146
P = 1.1,
147147
U = -1.234565723762724332233489m
148148
};
149-
_collection.InsertOneAsync(root).GetAwaiter().GetResult();
149+
_collection.InsertOne(root);
150150
}
151151

152152

153153
private void InsertJoin()
154154
{
155-
_otherCollection.InsertOneAsync(new Other
155+
_otherCollection.InsertOne(new Other
156156
{
157157
Id = 10, // will join with first
158158
CEF = 111 // will join with second
159-
}).GetAwaiter().GetResult();
159+
});
160160
}
161161

162162
public class RootView

0 commit comments

Comments
 (0)