summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/document_source_group_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/pipeline/document_source_group_test.cpp')
-rw-r--r--src/mongo/db/pipeline/document_source_group_test.cpp51
1 files changed, 27 insertions, 24 deletions
diff --git a/src/mongo/db/pipeline/document_source_group_test.cpp b/src/mongo/db/pipeline/document_source_group_test.cpp
index da25b97d397..8f0d7d3c7a2 100644
--- a/src/mongo/db/pipeline/document_source_group_test.cpp
+++ b/src/mongo/db/pipeline/document_source_group_test.cpp
@@ -78,13 +78,14 @@ TEST_F(DocumentSourceGroupTest, ShouldBeAbleToPauseLoading) {
AccumulationStatement::getFactory("$sum")};
auto group = DocumentSourceGroup::create(
expCtx, ExpressionConstant::create(expCtx, Value(BSONNULL)), {countStatement});
- auto mock = DocumentSourceMock::create({DocumentSource::GetNextResult::makePauseExecution(),
- Document(),
- DocumentSource::GetNextResult::makePauseExecution(),
- Document(),
- Document(),
- DocumentSource::GetNextResult::makePauseExecution(),
- Document()});
+ auto mock =
+ DocumentSourceMock::createForTest({DocumentSource::GetNextResult::makePauseExecution(),
+ Document(),
+ DocumentSource::GetNextResult::makePauseExecution(),
+ Document(),
+ Document(),
+ DocumentSource::GetNextResult::makePauseExecution(),
+ Document()});
group->setSource(mock.get());
// There were 3 pauses, so we should expect 3 paused results before any results can be returned.
@@ -116,11 +117,12 @@ TEST_F(DocumentSourceGroupTest, ShouldBeAbleToPauseLoadingWhileSpilled) {
expCtx, groupByExpression, {pushStatement}, maxMemoryUsageBytes);
string largeStr(maxMemoryUsageBytes, 'x');
- auto mock = DocumentSourceMock::create({Document{{"_id", 0}, {"largeStr", largeStr}},
- DocumentSource::GetNextResult::makePauseExecution(),
- Document{{"_id", 1}, {"largeStr", largeStr}},
- DocumentSource::GetNextResult::makePauseExecution(),
- Document{{"_id", 2}, {"largeStr", largeStr}}});
+ auto mock =
+ DocumentSourceMock::createForTest({Document{{"_id", 0}, {"largeStr", largeStr}},
+ DocumentSource::GetNextResult::makePauseExecution(),
+ Document{{"_id", 1}, {"largeStr", largeStr}},
+ DocumentSource::GetNextResult::makePauseExecution(),
+ Document{{"_id", 2}, {"largeStr", largeStr}}});
group->setSource(mock.get());
// There were 2 pauses, so we should expect 2 paused results before any results can be returned.
@@ -155,8 +157,8 @@ TEST_F(DocumentSourceGroupTest, ShouldErrorIfNotAllowedToSpillToDiskAndResultSet
expCtx, groupByExpression, {pushStatement}, maxMemoryUsageBytes);
string largeStr(maxMemoryUsageBytes, 'x');
- auto mock = DocumentSourceMock::create({Document{{"_id", 0}, {"largeStr", largeStr}},
- Document{{"_id", 1}, {"largeStr", largeStr}}});
+ auto mock = DocumentSourceMock::createForTest({Document{{"_id", 0}, {"largeStr", largeStr}},
+ Document{{"_id", 1}, {"largeStr", largeStr}}});
group->setSource(mock.get());
ASSERT_THROWS_CODE(group->getNext(), AssertionException, 16945);
@@ -177,10 +179,11 @@ TEST_F(DocumentSourceGroupTest, ShouldCorrectlyTrackMemoryUsageBetweenPauses) {
expCtx, groupByExpression, {pushStatement}, maxMemoryUsageBytes);
string largeStr(maxMemoryUsageBytes / 2, 'x');
- auto mock = DocumentSourceMock::create({Document{{"_id", 0}, {"largeStr", largeStr}},
- DocumentSource::GetNextResult::makePauseExecution(),
- Document{{"_id", 1}, {"largeStr", largeStr}},
- Document{{"_id", 2}, {"largeStr", largeStr}}});
+ auto mock =
+ DocumentSourceMock::createForTest({Document{{"_id", 0}, {"largeStr", largeStr}},
+ DocumentSource::GetNextResult::makePauseExecution(),
+ Document{{"_id", 1}, {"largeStr", largeStr}},
+ Document{{"_id", 2}, {"largeStr", largeStr}}});
group->setSource(mock.get());
// The first getNext() should pause.
@@ -322,7 +325,7 @@ public:
virtual ~ExpressionBase() {}
void _doTest() final {
createGroup(spec());
- auto source = DocumentSourceMock::create(Document(doc()));
+ auto source = DocumentSourceMock::createForTest(Document(doc()));
group()->setSource(source.get());
// A group result is available.
auto next = group()->getNext();
@@ -558,7 +561,7 @@ public:
}
void runSharded(bool sharded) {
createGroup(groupSpec());
- auto source = DocumentSourceMock::create(inputData());
+ auto source = DocumentSourceMock::createForTest(inputData());
group()->setSource(source.get());
intrusive_ptr<DocumentSource> sink = group();
@@ -779,10 +782,10 @@ class UndefinedAccumulatorValue : public CheckResultsBase {
class RouterMerger : public CheckResultsBase {
public:
void _doTest() final {
- auto source = DocumentSourceMock::create({"{_id:0,list:[1,2]}",
- "{_id:1,list:[3,4]}",
- "{_id:0,list:[10,20]}",
- "{_id:1,list:[30,40]}]}"});
+ auto source = DocumentSourceMock::createForTest({"{_id:0,list:[1,2]}",
+ "{_id:1,list:[3,4]}",
+ "{_id:0,list:[10,20]}",
+ "{_id:1,list:[30,40]}]}"});
// Create a group source.
createGroup(BSON("_id"