diff options
Diffstat (limited to 'src/mongo/db/pipeline/document_source_current_op_test.cpp')
| -rw-r--r-- | src/mongo/db/pipeline/document_source_current_op_test.cpp | 55 |
1 files changed, 16 insertions, 39 deletions
diff --git a/src/mongo/db/pipeline/document_source_current_op_test.cpp b/src/mongo/db/pipeline/document_source_current_op_test.cpp index 440205960f2..260bfbf0829 100644 --- a/src/mongo/db/pipeline/document_source_current_op_test.cpp +++ b/src/mongo/db/pipeline/document_source_current_op_test.cpp @@ -154,10 +154,10 @@ TEST_F(DocumentSourceCurrentOpTest, ShouldFailToParseIfUnrecognisedParameterSpec ErrorCodes::FailedToParse); } -TEST_F(DocumentSourceCurrentOpTest, ShouldParseAndSerializeAllExplicitlySpecifiedArguments) { +TEST_F(DocumentSourceCurrentOpTest, ShouldParseAndSerializeNonDefaultOptionalArguments) { const auto specObj = fromjson( - "{$currentOp:{idleConnections:false, idleSessions:false, allUsers:true, localOps:true, " - "truncateOps:false}}"); + "{$currentOp:{idleConnections:true, idleSessions:false, allUsers:true, localOps:true, " + "truncateOps:true}}"); const auto parsed = DocumentSourceCurrentOp::createFromBson(specObj.firstElement(), getExpCtx()); @@ -165,42 +165,19 @@ TEST_F(DocumentSourceCurrentOpTest, ShouldParseAndSerializeAllExplicitlySpecifie const auto currentOp = static_cast<DocumentSourceCurrentOp*>(parsed.get()); const auto expectedOutput = Document{{"$currentOp", - Document{{"idleConnections", false}, + Document{{"idleConnections", true}, {"idleSessions", false}, {"allUsers", true}, {"localOps", true}, - {"truncateOps", false}}}}; + {"truncateOps", true}}}}; ASSERT_DOCUMENT_EQ(currentOp->serialize().getDocument(), expectedOutput); } -TEST_F(DocumentSourceCurrentOpTest, - ShouldParseAndSerializeAllExplicitlySpecifiedArgumentsWithRedaction) { - auto spec = fromjson( - R"({ - $currentOp: { - idleConnections: true, - allUsers: false, - idleSessions: false, - localOps: true - } - })"); - auto docSource = DocumentSourceCurrentOp::createFromBson(spec.firstElement(), getExpCtx()); - - ASSERT_BSONOBJ_EQ_AUTO( // NOLINT - R"({ - "$currentOp": { - "idleConnections": "?bool", - "idleSessions": "?bool", - "allUsers": "?bool", - "localOps": "?bool" - } - })", - redact(*docSource)); -} - -TEST_F(DocumentSourceCurrentOpTest, ShouldNotSerializeOmittedOptionalArguments) { - const auto specObj = fromjson("{$currentOp:{}}"); +TEST_F(DocumentSourceCurrentOpTest, ShouldParseButNotSerializeDefaultOptionalArguments) { + const auto specObj = fromjson( + "{$currentOp:{idleConnections:false, idleSessions:true, allUsers:false, localOps:false, " + "truncateOps:false}}"); const auto parsed = DocumentSourceCurrentOp::createFromBson(specObj.firstElement(), getExpCtx()); @@ -212,17 +189,17 @@ TEST_F(DocumentSourceCurrentOpTest, ShouldNotSerializeOmittedOptionalArguments) ASSERT_DOCUMENT_EQ(currentOp->serialize().getDocument(), expectedOutput); } -TEST_F(DocumentSourceCurrentOpTest, ShouldNotSerializeOmittedOptionalArgumentsWithRedaction) { +TEST_F(DocumentSourceCurrentOpTest, ShouldNotSerializeOmittedOptionalArguments) { const auto specObj = fromjson("{$currentOp:{}}"); - const auto docSource = + const auto parsed = DocumentSourceCurrentOp::createFromBson(specObj.firstElement(), getExpCtx()); - ASSERT_BSONOBJ_EQ_AUTO( // NOLINT - R"({ - "$currentOp": {} - })", - redact(*docSource)); + const auto currentOp = static_cast<DocumentSourceCurrentOp*>(parsed.get()); + + const auto expectedOutput = Document{{"$currentOp", Document{}}}; + + ASSERT_DOCUMENT_EQ(currentOp->serialize().getDocument(), expectedOutput); } TEST_F(DocumentSourceCurrentOpTest, ShouldReturnEOFImmediatelyIfNoCurrentOps) { |
