diff options
author | Matt Broadstone <mbroadst@mongodb.com> | 2022-01-13 19:30:48 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-01-13 20:27:45 +0000 |
commit | 364268284a6131c04e7abed051e5851479dceb6d (patch) | |
tree | d1424dec4e034dd6a2bf7d80f6bdef2b3a3ac580 /src/mongo/db/repl/repl_set_config_test.cpp | |
parent | 4ec9cbe31da4397c101ad4500854eaf9a4a6d45d (diff) | |
download | mongo-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.cpp | 25 |
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 |