diff options
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.cpp | 18 |
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; }; |