diff options
author | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2017-08-03 15:54:36 -0400 |
---|---|---|
committer | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2017-08-07 13:36:23 -0400 |
commit | 3aa21a3194e32eadd1158432f2ed39d4bc931e3f (patch) | |
tree | ce7fc22d676d550d6eb5de8504c806cb83a3e14b /src/mongo/db/logical_time_test.cpp | |
parent | 53bdf3fa8d2e0e3d6a795d2a13b5f013d8fdfa14 (diff) | |
download | mongo-3aa21a3194e32eadd1158432f2ed39d4bc931e3f.tar.gz |
SERVER-30147 Move Command::appendOperationTime to LogicalTime
Diffstat (limited to 'src/mongo/db/logical_time_test.cpp')
-rw-r--r-- | src/mongo/db/logical_time_test.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/mongo/db/logical_time_test.cpp b/src/mongo/db/logical_time_test.cpp index ed738cc20d6..bf0b3b567ba 100644 --- a/src/mongo/db/logical_time_test.cpp +++ b/src/mongo/db/logical_time_test.cpp @@ -105,6 +105,40 @@ TEST(LogicalTime, toUnsignedArray) { } } +TEST(LogicalTime, appendAsOperationTime) { + BSONObjBuilder actualResultBuilder; + LogicalTime testTime(Timestamp(1)); + testTime.appendAsOperationTime(&actualResultBuilder); + + const auto actualResult = actualResultBuilder.obj(); + ASSERT_BSONOBJ_EQ(BSON("operationTime" << Timestamp(1)), actualResult); + + // Test round-trip works + ASSERT_EQ(testTime, LogicalTime::fromOperationTime(actualResult)); +} + +TEST(LogicalTime, fromOperationTime) { + const auto actualTime = LogicalTime::fromOperationTime(BSON("someOtherCommandParameter" + << "Value" + << "operationTime" + << Timestamp(1))); + ASSERT_EQ(LogicalTime(Timestamp(1)), actualTime); +} + +TEST(LogicalTime, fromOperationTimeMissingOperationTime) { + ASSERT_THROWS_CODE(LogicalTime::fromOperationTime(BSON("someOtherCommandParameter" + << "Value")), + DBException, + ErrorCodes::FailedToParse); +} + +TEST(LogicalTime, fromOperationTimeBadType) { + ASSERT_THROWS_CODE(LogicalTime::fromOperationTime(BSON("operationTime" + << "BadStringValue")), + DBException, + ErrorCodes::BadValue); +} + TEST(SignedLogicalTime, roundtrip) { Timestamp tX(1); TimeProofService tps; |