diff options
Diffstat (limited to 'src/mongo/db/pipeline/document_source_group_test.cpp')
-rw-r--r-- | src/mongo/db/pipeline/document_source_group_test.cpp | 51 |
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" |