diff options
Diffstat (limited to 'src/mongo/db/exec/add_fields_projection_executor_test.cpp')
| -rw-r--r-- | src/mongo/db/exec/add_fields_projection_executor_test.cpp | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/src/mongo/db/exec/add_fields_projection_executor_test.cpp b/src/mongo/db/exec/add_fields_projection_executor_test.cpp index 0870c53751a..007e5cc1ffb 100644 --- a/src/mongo/db/exec/add_fields_projection_executor_test.cpp +++ b/src/mongo/db/exec/add_fields_projection_executor_test.cpp @@ -685,62 +685,5 @@ TEST(AddFieldsProjectionExecutorExecutionTest, DoNotExtractComputedProjectionWit addFields.serializeTransformation(boost::none)); } -TEST(AddFieldsProjectionExecutorExecutionTest, - ExtractComputedProjectionShouldNotHideDependentSubFields) { - boost::intrusive_ptr<ExpressionContextForTest> expCtx(new ExpressionContextForTest()); - AddFieldsProjectionExecutor addFields(expCtx); - addFields.parse(BSON("obj" - << "$myMeta" - << "b" << BSON("$add" << BSON_ARRAY("$obj.a" << 1)))); - - const std::set<StringData> reservedNames{}; - auto [extractedAddFields, deleteFlag] = - addFields.extractComputedProjections("myMeta", "meta", reservedNames); - - ASSERT_EQ(extractedAddFields.nFields(), 0); - ASSERT_EQ(deleteFlag, false); - - auto expectedProjection = - Document(fromjson("{obj: '$myMeta', b: {$add: ['$obj.a', {$const: 1}]}}")); - ASSERT_DOCUMENT_EQ(expectedProjection, addFields.serializeTransformation(boost::none)); -} - -TEST(AddFieldsProjectionExecutorExecutionTest, - ExtractComputedProjectionShouldNotHideDependentFieldsWithDottedSibling) { - boost::intrusive_ptr<ExpressionContextForTest> expCtx(new ExpressionContextForTest()); - AddFieldsProjectionExecutor addFields(expCtx); - addFields.parse(BSON("a" - << "$myMeta" - << "c.b" - << "$a.x")); - - const std::set<StringData> reservedNames{}; - auto [extractedAddFields, deleteFlag] = - addFields.extractComputedProjections("myMeta", "meta", reservedNames); - - ASSERT_EQ(extractedAddFields.nFields(), 0); - ASSERT_EQ(deleteFlag, false); - - auto expectedProjection = Document(fromjson("{a: '$myMeta', c: {b: '$a.x'}}")); - ASSERT_DOCUMENT_EQ(expectedProjection, addFields.serializeTransformation(boost::none)); -} - -TEST(AddFieldsProjectionExecutorExecutionTest, ExtractComputedProjectionShouldNotIncludeId) { - boost::intrusive_ptr<ExpressionContextForTest> expCtx(new ExpressionContextForTest()); - AddFieldsProjectionExecutor addFields(expCtx); - addFields.parse(BSON("a" << BSON("$sum" << BSON_ARRAY("$myMeta" - << "$_id")))); - - const std::set<StringData> reservedNames{}; - auto [extractedAddFields, deleteFlag] = - addFields.extractComputedProjections("myMeta", "meta", reservedNames); - - ASSERT_EQ(extractedAddFields.nFields(), 0); - ASSERT_EQ(deleteFlag, false); - - auto expectedProjection = Document(fromjson("{a: {$sum: ['$myMeta', '$_id']}}")); - ASSERT_DOCUMENT_EQ(expectedProjection, addFields.serializeTransformation(boost::none)); -} - } // namespace } // namespace mongo::projection_executor |
