summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/document_source_check_resume_token_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/pipeline/document_source_check_resume_token_test.cpp')
-rw-r--r--src/mongo/db/pipeline/document_source_check_resume_token_test.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/mongo/db/pipeline/document_source_check_resume_token_test.cpp b/src/mongo/db/pipeline/document_source_check_resume_token_test.cpp
index 133cffec12c..72e236ba870 100644
--- a/src/mongo/db/pipeline/document_source_check_resume_token_test.cpp
+++ b/src/mongo/db/pipeline/document_source_check_resume_token_test.cpp
@@ -236,18 +236,30 @@ public:
StatusWith<std::unique_ptr<Pipeline, Pipeline::Deleter>> makePipeline(
const std::vector<BSONObj>& rawPipeline,
- const boost::intrusive_ptr<ExpressionContext>& expCtx) final {
+ const boost::intrusive_ptr<ExpressionContext>& expCtx,
+ const MakePipelineOptions opts) final {
auto pipeline = Pipeline::parse(rawPipeline, expCtx);
if (!pipeline.isOK()) {
return pipeline.getStatus();
}
- pipeline.getValue()->addInitialSource(DocumentSourceMock::create(_mockResults));
- pipeline.getValue()->optimizePipeline();
+ if (opts.optimize) {
+ pipeline.getValue()->optimizePipeline();
+ }
+
+ if (opts.attachCursorSource) {
+ uassertStatusOK(attachCursorSourceToPipeline(expCtx, pipeline.getValue().get()));
+ }
return pipeline;
}
+ Status attachCursorSourceToPipeline(const boost::intrusive_ptr<ExpressionContext>& expCtx,
+ Pipeline* pipeline) final {
+ pipeline->addInitialSource(DocumentSourceMock::create(_mockResults));
+ return Status::OK();
+ }
+
private:
deque<DocumentSource::GetNextResult> _mockResults;
};