diff options
Diffstat (limited to 'src/mongo/db/pipeline/pipeline_test.cpp')
-rw-r--r-- | src/mongo/db/pipeline/pipeline_test.cpp | 38 |
1 files changed, 4 insertions, 34 deletions
diff --git a/src/mongo/db/pipeline/pipeline_test.cpp b/src/mongo/db/pipeline/pipeline_test.cpp index 1f37b30fc90..8dbc02fc88a 100644 --- a/src/mongo/db/pipeline/pipeline_test.cpp +++ b/src/mongo/db/pipeline/pipeline_test.cpp @@ -1349,10 +1349,8 @@ class DocumentSourceCollectionlessMock : public DocumentSourceMock { public: DocumentSourceCollectionlessMock() : DocumentSourceMock({}) {} - StageConstraints constraints() const final { - StageConstraints constraints; - constraints.isIndependentOfAnyCollection = true; - return constraints; + InitialSourceType getInitialSourceType() const final { + return InitialSourceType::kCollectionlessInitialSource; } static boost::intrusive_ptr<DocumentSourceCollectionlessMock> create() { @@ -1405,34 +1403,6 @@ TEST_F(PipelineInitialSourceNSTest, AggregateOneNSValidForFacetPipelineRegardles ASSERT_OK(Pipeline::parseFacetPipeline(rawPipeline, ctx).getStatus()); } -TEST_F(PipelineInitialSourceNSTest, ChangeNotificationIsValidAsFirstStage) { - const std::vector<BSONObj> rawPipeline = {fromjson("{$changeNotification: {}}")}; - auto ctx = getExpCtx(); - ctx->ns = NamespaceString("a.collection"); - ASSERT_OK(Pipeline::parse(rawPipeline, ctx).getStatus()); -} - -TEST_F(PipelineInitialSourceNSTest, ChangeNotificationIsNotValidIfNotFirstStage) { - const std::vector<BSONObj> rawPipeline = {fromjson("{$match: {custom: 'filter'}}"), - fromjson("{$changeNotification: {}}")}; - auto ctx = getExpCtx(); - ctx->ns = NamespaceString("a.collection"); - auto parseStatus = Pipeline::parse(rawPipeline, ctx).getStatus(); - ASSERT_EQ(parseStatus, ErrorCodes::BadValue); - ASSERT_EQ(parseStatus.location(), 40549); -} - -TEST_F(PipelineInitialSourceNSTest, ChangeNotificationIsNotValidIfNotFirstStageInFacet) { - const std::vector<BSONObj> rawPipeline = {fromjson("{$match: {custom: 'filter'}}"), - fromjson("{$changeNotification: {}}")}; - auto ctx = getExpCtx(); - ctx->ns = NamespaceString("a.collection"); - auto parseStatus = Pipeline::parseFacetPipeline(rawPipeline, ctx).getStatus(); - ASSERT_EQ(parseStatus, ErrorCodes::BadValue); - ASSERT_EQ(parseStatus.location(), 40550); - ASSERT(std::string::npos != parseStatus.reason().find("$changeNotification")); -} - } // namespace Namespaces namespace Dependencies { @@ -1460,8 +1430,8 @@ class DocumentSourceDependencyDummy : public DocumentSourceMock { public: DocumentSourceDependencyDummy() : DocumentSourceMock({}) {} - StageConstraints constraints() const final { - return StageConstraints{}; // Overrides DocumentSourceMock's required position. + InitialSourceType getInitialSourceType() const final { + return InitialSourceType::kNotInitialSource; } }; |