summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/repl_set_config_test.cpp
diff options
context:
space:
mode:
authorMatt Broadstone <mbroadst@mongodb.com>2022-01-13 19:30:48 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-01-13 20:27:45 +0000
commit364268284a6131c04e7abed051e5851479dceb6d (patch)
treed1424dec4e034dd6a2bf7d80f6bdef2b3a3ac580 /src/mongo/db/repl/repl_set_config_test.cpp
parent4ec9cbe31da4397c101ad4500854eaf9a4a6d45d (diff)
downloadmongo-364268284a6131c04e7abed051e5851479dceb6d.tar.gz
SERVER-62016 support tagged write concerns
Diffstat (limited to 'src/mongo/db/repl/repl_set_config_test.cpp')
-rw-r--r--src/mongo/db/repl/repl_set_config_test.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/mongo/db/repl/repl_set_config_test.cpp b/src/mongo/db/repl/repl_set_config_test.cpp
index 2ce4bb6fcc4..7a2c5fe33f3 100644
--- a/src/mongo/db/repl/repl_set_config_test.cpp
+++ b/src/mongo/db/repl/repl_set_config_test.cpp
@@ -1968,6 +1968,31 @@ TEST(ReplSetConfig, IsImplicitDefaultWriteConcernMajority) {
ASSERT_OK(config.validate());
ASSERT_FALSE(config.isImplicitDefaultWriteConcernMajority());
}
+
+TEST(ReplSetConfig, MakeCustomWriteMode) {
+ auto config = ReplSetConfig::parse(BSON("_id"
+ << "rs0"
+ << "version" << 1 << "term" << 1.0 << "protocolVersion"
+ << 1 << "members"
+ << BSON_ARRAY(BSON("_id" << 0 << "host"
+ << "localhost:12345"
+ << "tags"
+ << BSON("NYC"
+ << "NY")))));
+
+ auto swPattern = config.makeCustomWriteMode(BSON("NYC"
+ << "invalid value type"));
+ ASSERT_FALSE(swPattern.isOK());
+ ASSERT_EQ(swPattern.getStatus().code(), ErrorCodes::BadValue);
+
+ swPattern = config.makeCustomWriteMode(BSON("NonExistentTag" << 1));
+ ASSERT_FALSE(swPattern.isOK());
+ ASSERT_EQ(swPattern.getStatus().code(), ErrorCodes::NoSuchKey);
+
+ swPattern = config.makeCustomWriteMode(BSON("NYC" << 1));
+ ASSERT_TRUE(swPattern.isOK());
+}
+
} // namespace
} // namespace repl
} // namespace mongo