Skip to content

Commit ffcad32

Browse files
committed
Fix tests that failed in Jenkins because explain output was different in older server versions.
1 parent 5486408 commit ffcad32

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

tests/MongoDB.Driver.Legacy.Tests/Linq/ExplainTests.cs

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
using MongoDB.Bson;
2020
using MongoDB.Driver;
2121
using MongoDB.Driver.Builders;
22+
using MongoDB.Driver.Core.Misc;
2223
using MongoDB.Driver.Linq;
2324
using Xunit;
2425

@@ -46,10 +47,14 @@ public void TestExplainFromLinqQueryEqualsExplainFromCursor()
4647
var linqExplain = _collection.AsQueryable<C>().Where(c => c.X == 2 && c.Y == 1).Take(1).Explain();
4748
var queryExplain = _collection.FindAs<C>(Query.And(Query.EQ("X", 2), Query.EQ("Y", 1))).SetLimit(1).Explain();
4849

49-
var linqQuery = linqExplain["queryPlanner"]["parsedQuery"];
50-
var findQuery = queryExplain["queryPlanner"]["parsedQuery"];
50+
// prior to 3.0.0 this is just a smoke test because the explain output did not have much that could be compared
51+
if (CoreTestConfiguration.ServerVersion >= new SemanticVersion(3, 0, 0))
52+
{
53+
var linqQuery = linqExplain["queryPlanner"]["parsedQuery"];
54+
var findQuery = queryExplain["queryPlanner"]["parsedQuery"];
5155

52-
Assert.Equal(linqQuery, findQuery);
56+
Assert.Equal(linqQuery, findQuery);
57+
}
5358
}
5459

5560
[Fact]
@@ -58,10 +63,14 @@ public void TestVerboseExplainFromLinqQueryEqualsVerboseExplainFromCursor()
5863
var linqExplain = _collection.AsQueryable<C>().Where(c => c.X == 2 && c.Y == 1).Take(1).Explain(true);
5964
var queryExplain = _collection.FindAs<C>(Query.And(Query.EQ("X", 2), Query.EQ("Y", 1))).SetLimit(1).Explain(true);
6065

61-
var linqQuery = linqExplain["queryPlanner"]["parsedQuery"];
62-
var findQuery = queryExplain["queryPlanner"]["parsedQuery"];
66+
// prior to 3.0.0 this is just a smoke test because the explain output did not have much that could be compared
67+
if (CoreTestConfiguration.ServerVersion >= new SemanticVersion(3, 0, 0))
68+
{
69+
var linqQuery = linqExplain["queryPlanner"]["parsedQuery"];
70+
var findQuery = queryExplain["queryPlanner"]["parsedQuery"];
6371

64-
Assert.Equal(linqQuery, findQuery);
72+
Assert.Equal(linqQuery, findQuery);
73+
}
6574
}
6675

6776
[Fact]

0 commit comments

Comments
 (0)