summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/rs_rollback_test.cpp
diff options
context:
space:
mode:
authorJudah Schvimer <judah@mongodb.com>2017-06-23 09:50:53 -0400
committerJudah Schvimer <judah@mongodb.com>2017-06-23 09:50:53 -0400
commite987b3cbc59352df543001ab35d94b3f963adb37 (patch)
tree41f83bfa8d1980da77617c77263724f7f4b08406 /src/mongo/db/repl/rs_rollback_test.cpp
parent1295c957482c7fcd7a9b7920e6b3392ffed3c7a7 (diff)
downloadmongo-e987b3cbc59352df543001ab35d94b3f963adb37.tar.gz
SERVER-29276 use OplogEntry class in rs_rollback.cpp
Diffstat (limited to 'src/mongo/db/repl/rs_rollback_test.cpp')
-rw-r--r--src/mongo/db/repl/rs_rollback_test.cpp58
1 files changed, 46 insertions, 12 deletions
diff --git a/src/mongo/db/repl/rs_rollback_test.cpp b/src/mongo/db/repl/rs_rollback_test.cpp
index 331459883fe..988293ac27a 100644
--- a/src/mongo/db/repl/rs_rollback_test.cpp
+++ b/src/mongo/db/repl/rs_rollback_test.cpp
@@ -811,7 +811,7 @@ TEST_F(RSRollbackTest, RollbackUnknownCommand) {
<< "ns"
<< "test.t"
<< "o"
- << BSON("unknown_command"
+ << BSON("convertToCapped"
<< "t")),
RecordId(2));
{
@@ -832,7 +832,7 @@ TEST_F(RSRollbackTest, RollbackUnknownCommand) {
_coordinator,
_replicationProcess.get());
ASSERT_EQUALS(ErrorCodes::UnrecoverableRollbackError, status.code());
- ASSERT_EQUALS(18751, status.location());
+ ASSERT_EQUALS(18752, status.location());
}
TEST_F(RSRollbackTest, RollbackDropCollectionCommand) {
@@ -968,6 +968,12 @@ TEST_F(RSRollbackTest, RollbackApplyOpsCommand) {
std::make_pair(makeApplyOpsOplogEntry(Timestamp(Seconds(2), 0),
{BSON("op"
<< "u"
+ << "ts"
+ << Timestamp(1, 1)
+ << "t"
+ << 1LL
+ << "h"
+ << 2LL
<< "ns"
<< "test.t"
<< "o2"
@@ -976,6 +982,12 @@ TEST_F(RSRollbackTest, RollbackApplyOpsCommand) {
<< BSON("_id" << 1 << "v" << 2)),
BSON("op"
<< "u"
+ << "ts"
+ << Timestamp(2, 1)
+ << "t"
+ << 1LL
+ << "h"
+ << 2LL
<< "ns"
<< "test.t"
<< "o2"
@@ -984,12 +996,24 @@ TEST_F(RSRollbackTest, RollbackApplyOpsCommand) {
<< BSON("_id" << 2 << "v" << 4)),
BSON("op"
<< "d"
+ << "ts"
+ << Timestamp(3, 1)
+ << "t"
+ << 1LL
+ << "h"
+ << 2LL
<< "ns"
<< "test.t"
<< "o"
<< BSON("_id" << 3)),
BSON("op"
<< "i"
+ << "ts"
+ << Timestamp(4, 1)
+ << "t"
+ << 1LL
+ << "h"
+ << 2LL
<< "ns"
<< "test.t"
<< "o"
@@ -1165,30 +1189,40 @@ TEST_F(RSRollbackTest, RollbackCollectionModificationCommandInvalidCollectionOpt
}
TEST(RSRollbackTest, LocalEntryWithoutNsIsFatal) {
- const auto validOplogEntry = fromjson("{op: 'i', ns: 'test.t', o: {_id:1, a: 1}}");
+ const auto validOplogEntry = fromjson(
+ "{op: 'i', ts: Timestamp(1,1), t: NumberLong(1), h: NumberLong(1), ns: 'test.t', o: "
+ "{_id:1, a: 1}}");
FixUpInfo fui;
ASSERT_OK(updateFixUpInfoFromLocalOplogEntry(fui, validOplogEntry));
- ASSERT_THROWS(updateFixUpInfoFromLocalOplogEntry(fui, validOplogEntry.removeField("ns"))
- .transitional_ignore(),
+ const auto invalidOplogEntry = fromjson(
+ "{op: 'i', ts: Timestamp(1,1), t: NumberLong(1), h: NumberLong(1), ns: '', o: {_id:1, a: "
+ "1}}");
+ ASSERT_THROWS(updateFixUpInfoFromLocalOplogEntry(fui, invalidOplogEntry).transitional_ignore(),
RSFatalException);
}
TEST(RSRollbackTest, LocalEntryWithoutOIsFatal) {
- const auto validOplogEntry = fromjson("{op: 'i', ns: 'test.t', o: {_id:1, a: 1}}");
+ const auto validOplogEntry = fromjson(
+ "{op: 'i', ts: Timestamp(1,1), t: NumberLong(1), h: NumberLong(1), ns: 'test.t', o: "
+ "{_id:1, a: 1}}");
FixUpInfo fui;
ASSERT_OK(updateFixUpInfoFromLocalOplogEntry(fui, validOplogEntry));
- ASSERT_THROWS(updateFixUpInfoFromLocalOplogEntry(fui, validOplogEntry.removeField("o"))
- .transitional_ignore(),
+ const auto invalidOplogEntry = fromjson(
+ "{op: 'i', ts: Timestamp(1,1), t: NumberLong(1), h: NumberLong(1), ns: 'test.t', o: {}}");
+ ASSERT_THROWS(updateFixUpInfoFromLocalOplogEntry(fui, invalidOplogEntry).transitional_ignore(),
RSFatalException);
}
TEST(RSRollbackTest, LocalEntryWithoutO2IsFatal) {
- const auto validOplogEntry =
- fromjson("{op: 'u', ns: 'test.t', o2: {_id: 1}, o: {_id:1, a: 1}}");
+ const auto validOplogEntry = fromjson(
+ "{op: 'u', ts: Timestamp(1,1), t: NumberLong(1), h: NumberLong(1),ns: 'test.t', o2: {_id: "
+ "1}, o: {_id:1, a: 1}}");
FixUpInfo fui;
ASSERT_OK(updateFixUpInfoFromLocalOplogEntry(fui, validOplogEntry));
- ASSERT_THROWS(updateFixUpInfoFromLocalOplogEntry(fui, validOplogEntry.removeField("o2"))
- .transitional_ignore(),
+ const auto invalidOplogEntry = fromjson(
+ "{op: 'u', ts: Timestamp(1,1), t: NumberLong(1), h: NumberLong(1),ns: 'test.t', o2: {}, "
+ "o: {_id:1, a: 1}}");
+ ASSERT_THROWS(updateFixUpInfoFromLocalOplogEntry(fui, invalidOplogEntry).transitional_ignore(),
RSFatalException);
}