summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2021-12-13 11:21:33 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-12-15 21:22:43 +0000
commit615eb7a80e605f5a51e923a36e1075feea8b7edb (patch)
tree7411c235b45ed0f241fd8d255d5038d4e9077874
parentf1d0f5a615182cb4b51de8f2c5d0541e26008213 (diff)
downloadmongo-615eb7a80e605f5a51e923a36e1075feea8b7edb.tar.gz
SERVER-61846 add redaction test for small fields
-rw-r--r--src/mongo/logv2/redaction_test.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mongo/logv2/redaction_test.cpp b/src/mongo/logv2/redaction_test.cpp
index e6feb6de33c..8ab293822c2 100644
--- a/src/mongo/logv2/redaction_test.cpp
+++ b/src/mongo/logv2/redaction_test.cpp
@@ -154,5 +154,18 @@ TEST(RedactBSONTest, BSONWithArrays) {
testBSONCases(testCases);
}
+
+TEST(RedactBSONTest, RedactCausesBSONTooLarge) {
+ logv2::setShouldRedactLogs(true);
+ BSONObjBuilder bob;
+ for (int i = 0; i < 1024 * 1024; i++) {
+ auto fieldName = "abcdefg";
+ // The value of each field is smaller than the size of the kRedactionDefaultMask.
+ bob.append(fieldName, 1);
+ }
+ const auto obj = bob.obj();
+ // Demonstrates it is possible to grow a BSON too large by redacting fields.
+ ASSERT_THROWS_CODE(redact(obj), DBException, ErrorCodes::BSONObjectTooLarge);
+}
} // namespace
} // namespace mongo