diff options
Diffstat (limited to 'src/mongo/db/write_concern_options_test.cpp')
-rw-r--r-- | src/mongo/db/write_concern_options_test.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mongo/db/write_concern_options_test.cpp b/src/mongo/db/write_concern_options_test.cpp index e9a3d111a08..abce6fa331e 100644 --- a/src/mongo/db/write_concern_options_test.cpp +++ b/src/mongo/db/write_concern_options_test.cpp @@ -187,6 +187,10 @@ TEST(WriteConcernOptionsTest, ParseWithTags) { ASSERT_STRING_CONTAINS(status.reason(), "tags must be a single level document with only number values"); + status = WriteConcernOptions::parse(BSON("w" << BSONObj())).getStatus(); + ASSERT_EQUALS(ErrorCodes::FailedToParse, status); + ASSERT_STRING_CONTAINS(status.reason(), "tagged write concern requires tags"); + auto sw = WriteConcernOptions::parse(BSON("w" << BSON("abc" << 1))); ASSERT_OK(sw.getStatus()); @@ -209,5 +213,13 @@ TEST(WriteConcernOptionsTest, ParseWithTags) { ASSERT(wc != wc5); } +TEST(WriteConcernOptionsTest, WTagsNotPermittedFCVLessThan53) { + serverGlobalParams.mutableFeatureCompatibility.setVersion( + multiversion::FeatureCompatibilityVersion::kVersion_5_2); + auto status = WriteConcernOptions::parse(BSON("w" << BSON("abc" << 1))).getStatus(); + ASSERT_EQUALS(ErrorCodes::FailedToParse, status); + ASSERT_STRING_CONTAINS(status.reason(), "w has to be a number or string"); +} + } // namespace } // namespace mongo |