summaryrefslogtreecommitdiff
path: root/src/mongo/db/catalog/index_build_entry_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/catalog/index_build_entry_test.cpp')
-rw-r--r--src/mongo/db/catalog/index_build_entry_test.cpp39
1 files changed, 32 insertions, 7 deletions
diff --git a/src/mongo/db/catalog/index_build_entry_test.cpp b/src/mongo/db/catalog/index_build_entry_test.cpp
index 10e5221af46..9f774514a9e 100644
--- a/src/mongo/db/catalog/index_build_entry_test.cpp
+++ b/src/mongo/db/catalog/index_build_entry_test.cpp
@@ -35,8 +35,8 @@
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/bsonobjbuilder.h"
#include "mongo/bson/bsontypes.h"
-#include "mongo/db/catalog/commit_quorum_options.h"
#include "mongo/db/catalog/index_build_entry_gen.h"
+#include "mongo/db/write_concern_options.h"
#include "mongo/unittest/unittest.h"
#include "mongo/util/assert_util.h"
#include "mongo/util/net/hostandport.h"
@@ -45,6 +45,8 @@
namespace mongo {
namespace {
+enum CommitQuorumOptions { Number, Majority, Tag };
+
const std::vector<std::string> generateIndexes(size_t numIndexes) {
std::vector<std::string> indexes;
for (size_t i = 0; i < numIndexes; i++) {
@@ -53,6 +55,23 @@ const std::vector<std::string> generateIndexes(size_t numIndexes) {
return indexes;
}
+const WriteConcernOptions generateCommitQuorum(CommitQuorumOptions option) {
+ switch (option) {
+ case Number:
+ return WriteConcernOptions(1, WriteConcernOptions::SyncMode::UNSET, 0);
+ break;
+ case Majority:
+ return WriteConcernOptions(
+ WriteConcernOptions::kMajority, WriteConcernOptions::SyncMode::UNSET, 0);
+ break;
+ case Tag:
+ return WriteConcernOptions("someTag", WriteConcernOptions::SyncMode::UNSET, 0);
+ break;
+ default:
+ return WriteConcernOptions(0, WriteConcernOptions::SyncMode::UNSET, 0);
+ }
+}
+
const std::vector<HostAndPort> generateCommitReadyMembers(size_t numMembers) {
std::vector<HostAndPort> members;
for (size_t i = 0; i < numMembers; i++) {
@@ -64,14 +83,16 @@ const std::vector<HostAndPort> generateCommitReadyMembers(size_t numMembers) {
TEST(IndexBuildEntryTest, IndexBuildEntryWithRequiredFields) {
const UUID id = UUID::gen();
const UUID collectionUUID = UUID::gen();
- const CommitQuorumOptions commitQuorum(1);
+ const WriteConcernOptions commitQuorum = generateCommitQuorum(CommitQuorumOptions::Number);
const std::vector<std::string> indexes = generateIndexes(1);
IndexBuildEntry entry(id, collectionUUID, commitQuorum, indexes);
ASSERT_EQUALS(entry.getBuildUUID(), id);
ASSERT_EQUALS(entry.getCollectionUUID(), collectionUUID);
- ASSERT_EQUALS(entry.getCommitQuorum().numNodes, 1);
+ ASSERT_EQUALS(entry.getCommitQuorum().wNumNodes, 1);
+ ASSERT_TRUE(entry.getCommitQuorum().syncMode == WriteConcernOptions::SyncMode::UNSET);
+ ASSERT_EQUALS(entry.getCommitQuorum().wTimeout, 0);
ASSERT_EQUALS(entry.getIndexNames().size(), indexes.size());
ASSERT_FALSE(entry.getPrepareIndexBuild());
}
@@ -79,7 +100,7 @@ TEST(IndexBuildEntryTest, IndexBuildEntryWithRequiredFields) {
TEST(IndexBuildEntryTest, IndexBuildEntryWithOptionalFields) {
const UUID id = UUID::gen();
const UUID collectionUUID = UUID::gen();
- const CommitQuorumOptions commitQuorum(CommitQuorumOptions::kMajority);
+ const WriteConcernOptions commitQuorum = generateCommitQuorum(CommitQuorumOptions::Majority);
const std::vector<std::string> indexes = generateIndexes(3);
IndexBuildEntry entry(id, collectionUUID, commitQuorum, indexes);
@@ -90,7 +111,9 @@ TEST(IndexBuildEntryTest, IndexBuildEntryWithOptionalFields) {
ASSERT_EQUALS(entry.getBuildUUID(), id);
ASSERT_EQUALS(entry.getCollectionUUID(), collectionUUID);
- ASSERT_EQUALS(entry.getCommitQuorum().mode, CommitQuorumOptions::kMajority);
+ ASSERT_EQUALS(entry.getCommitQuorum().wMode, WriteConcernOptions::kMajority);
+ ASSERT_TRUE(entry.getCommitQuorum().syncMode == WriteConcernOptions::SyncMode::UNSET);
+ ASSERT_EQUALS(entry.getCommitQuorum().wTimeout, 0);
ASSERT_EQUALS(entry.getIndexNames().size(), indexes.size());
ASSERT_TRUE(entry.getPrepareIndexBuild());
ASSERT_TRUE(entry.getCommitReadyMembers()->size() == 2);
@@ -99,7 +122,7 @@ TEST(IndexBuildEntryTest, IndexBuildEntryWithOptionalFields) {
TEST(IndexBuildEntryTest, SerializeAndDeserialize) {
const UUID id = UUID::gen();
const UUID collectionUUID = UUID::gen();
- const CommitQuorumOptions commitQuorum("someTag");
+ const WriteConcernOptions commitQuorum = generateCommitQuorum(CommitQuorumOptions::Tag);
const std::vector<std::string> indexes = generateIndexes(1);
IndexBuildEntry entry(id, collectionUUID, commitQuorum, indexes);
@@ -114,7 +137,9 @@ TEST(IndexBuildEntryTest, SerializeAndDeserialize) {
ASSERT_EQUALS(rebuiltEntry.getBuildUUID(), id);
ASSERT_EQUALS(rebuiltEntry.getCollectionUUID(), collectionUUID);
- ASSERT_EQUALS(rebuiltEntry.getCommitQuorum().mode, "someTag");
+ ASSERT_EQUALS(rebuiltEntry.getCommitQuorum().wMode, "someTag");
+ ASSERT_TRUE(rebuiltEntry.getCommitQuorum().syncMode == WriteConcernOptions::SyncMode::UNSET);
+ ASSERT_EQUALS(rebuiltEntry.getCommitQuorum().wTimeout, 0);
ASSERT_EQUALS(rebuiltEntry.getIndexNames().size(), indexes.size());
ASSERT_FALSE(rebuiltEntry.getPrepareIndexBuild());
ASSERT_TRUE(rebuiltEntry.getCommitReadyMembers()->size() == 3);