summaryrefslogtreecommitdiff
path: root/src/mongo/db/write_concern_options_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/write_concern_options_test.cpp')
-rw-r--r--src/mongo/db/write_concern_options_test.cpp12
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