diff options
Diffstat (limited to 'src/mongo/db/pipeline/document_source_graph_lookup_test.cpp')
| -rw-r--r-- | src/mongo/db/pipeline/document_source_graph_lookup_test.cpp | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/src/mongo/db/pipeline/document_source_graph_lookup_test.cpp b/src/mongo/db/pipeline/document_source_graph_lookup_test.cpp index c5dd404a04e..26345aa16ab 100644 --- a/src/mongo/db/pipeline/document_source_graph_lookup_test.cpp +++ b/src/mongo/db/pipeline/document_source_graph_lookup_test.cpp @@ -713,126 +713,5 @@ TEST_F(DocumentSourceGraphLookUpTest, ShouldNotExpandArraysWithinArraysAtEndOfCo ASSERT(graphLookupStage->getNext().isEOF()); } -TEST_F(DocumentSourceGraphLookUpTest, RedactionStartWithSingleField) { - NamespaceString graphLookupNs(getExpCtx()->ns.db(), "coll"); - getExpCtx()->setResolvedNamespaces(StringMap<ExpressionContext::ResolvedNamespace>{ - {graphLookupNs.coll().toString(), {graphLookupNs, std::vector<BSONObj>()}}}); - - auto spec = fromjson(R"({ - "$graphLookup": { - "from": "coll", - "startWith": "$a.b", - "connectFromField": "c.d", - "connectToField": "e.f", - "as": "x", - "depthField": "y", - "maxDepth": 5, - "restrictSearchWithMatch": { - "foo": "abc", - "bar.baz": { "$gt": 5 } - } - } - })"); - auto docSource = DocumentSourceGraphLookUp::createFromBson(spec.firstElement(), getExpCtx()); - ASSERT_BSONOBJ_EQ_AUTO( // NOLINT - R"({ - "$graphLookup": { - "from": "HASH<coll>", - "as": "HASH<x>", - "connectToField": "HASH<e>.HASH<f>", - "connectFromField": "HASH<c>.HASH<d>", - "startWith": "$HASH<a>.HASH<b>", - "depthField": "HASH<y>", - "maxDepth": "?number", - "restrictSearchWithMatch": { - "$and": [ - { - "HASH<foo>": { - "$eq": "?string" - } - }, - { - "HASH<bar>.HASH<baz>": { - "$gt": "?number" - } - } - ] - } - } - })", - redact(*docSource)); -} - -TEST_F(DocumentSourceGraphLookUpTest, RedactionStartWithArrayOfFields) { - NamespaceString graphLookupNs(getExpCtx()->ns.db(), "coll"); - getExpCtx()->setResolvedNamespaces(StringMap<ExpressionContext::ResolvedNamespace>{ - {graphLookupNs.coll().toString(), {graphLookupNs, std::vector<BSONObj>()}}}); - - auto spec = fromjson(R"({ - $graphLookup: { - from: "coll", - startWith: ["$a.b", "$bar.baz"], - connectFromField: "x", - connectToField: "y", - as: "z" - } - })"); - auto docSource = DocumentSourceGraphLookUp::createFromBson(spec.firstElement(), getExpCtx()); - ASSERT_BSONOBJ_EQ_AUTO( // NOLINT - R"({ - "$graphLookup": { - "from": "HASH<coll>", - "as": "HASH<z>", - "connectToField": "HASH<y>", - "connectFromField": "HASH<x>", - "startWith": ["$HASH<a>.HASH<b>", "$HASH<bar>.HASH<baz>"] - } - })", - redact(*docSource)); -} - -TEST_F(DocumentSourceGraphLookUpTest, RedactionWithAbsorbedUnwind) { - auto expCtx = getExpCtx(); - - NamespaceString graphLookupNs(getExpCtx()->ns.db(), "coll"); - expCtx->setResolvedNamespaces(StringMap<ExpressionContext::ResolvedNamespace>{ - {graphLookupNs.coll().toString(), {graphLookupNs, std::vector<BSONObj>()}}}); - - auto unwindStage = DocumentSourceUnwind::create(expCtx, "results", false, boost::none); - auto graphLookupStage = DocumentSourceGraphLookUp::create( - getExpCtx(), - graphLookupNs, - "results", - "from", - "to", - ExpressionFieldPath::deprecatedCreate(expCtx.get(), "startPoint"), - boost::none, - boost::none, - boost::none, - unwindStage); - - auto serialized = redactToArray(*graphLookupStage); - ASSERT_EQ(2, serialized.size()); - ASSERT_BSONOBJ_EQ_AUTO( // NOLINT - R"({ - "$graphLookup": { - "from": "HASH<coll>", - "as": "HASH<results>", - "connectToField": "HASH<to>", - "connectFromField": "HASH<from>", - "startWith": "$HASH<startPoint>" - } - })", - serialized[0].getDocument().toBson()); - - ASSERT_BSONOBJ_EQ_AUTO( // NOLINT - R"({ - "$unwind": { - path: "$HASH<results>" - } - })", - serialized[1].getDocument().toBson()); -} - } // namespace } // namespace mongo |
