summaryrefslogtreecommitdiff
path: root/src/mongo/s/chunk_version_test.cpp
diff options
context:
space:
mode:
authorKaloian Manassiev <kaloian.manassiev@mongodb.com>2022-05-25 08:11:01 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-05-25 08:54:05 +0000
commitfc61f94d0d7de48aaca991da620301907cf092e0 (patch)
treed92e6bccc312a0bdca98dd777ae1c3e7b8395304 /src/mongo/s/chunk_version_test.cpp
parente15d5cf875d92e37fcc83cb83b0b02ee45663238 (diff)
downloadmongo-fc61f94d0d7de48aaca991da620301907cf092e0.tar.gz
SERVER-65530 Get rid of the legacy ChunkVersion format (except for moveChunk)
Diffstat (limited to 'src/mongo/s/chunk_version_test.cpp')
-rw-r--r--src/mongo/s/chunk_version_test.cpp148
1 files changed, 0 insertions, 148 deletions
diff --git a/src/mongo/s/chunk_version_test.cpp b/src/mongo/s/chunk_version_test.cpp
index 3962588b52b..f735bfd7ef0 100644
--- a/src/mongo/s/chunk_version_test.cpp
+++ b/src/mongo/s/chunk_version_test.cpp
@@ -36,154 +36,6 @@
namespace mongo {
namespace {
-TEST(ChunkVersionTest, Parsing60Format) {
- const Timestamp majorMinor = Timestamp(Seconds(1), 2);
- const OID epoch = OID::gen();
- const Timestamp timestamp(42);
-
- ChunkVersion chunkVersion(1, 2, epoch, timestamp);
- // Check future format in fromBSONLegacyOrNewerFormat.
- ChunkVersion futureFormatChunkVersion = ChunkVersion::fromBSONLegacyOrNewerFormat(
- BSON("chunkVersion" << BSON(ChunkVersion60Format::kVersionFieldName
- << majorMinor << ChunkVersion60Format::kEpochFieldName << epoch
- << ChunkVersion60Format::kTimestampFieldName << timestamp)),
- "chunkVersion");
-
- ASSERT_EQ(1, futureFormatChunkVersion.majorVersion());
- ASSERT_EQ(2, futureFormatChunkVersion.minorVersion());
- ASSERT_EQ(epoch, futureFormatChunkVersion.epoch());
- ASSERT_EQ(timestamp, futureFormatChunkVersion.getTimestamp());
-
- // Check future format in fromBSONPositionalOrNewerFormat.
- ChunkVersion futureFormatChunkVersion2 = ChunkVersion::fromBSONPositionalOrNewerFormat(
- BSON("chunkVersion" << BSON(ChunkVersion60Format::kVersionFieldName
- << majorMinor << ChunkVersion60Format::kEpochFieldName << epoch
- << ChunkVersion60Format::kTimestampFieldName
- << timestamp))["chunkVersion"]);
-
- ASSERT_EQ(1, futureFormatChunkVersion2.majorVersion());
- ASSERT_EQ(2, futureFormatChunkVersion2.minorVersion());
- ASSERT_EQ(epoch, futureFormatChunkVersion2.epoch());
- ASSERT_EQ(timestamp, futureFormatChunkVersion2.getTimestamp());
-}
-
-TEST(ChunkVersionTest, ToFromBSONRoundtrip) {
- ChunkVersion version(1, 2, OID::gen(), Timestamp(42));
- const auto roundTripVersion = ChunkVersion::fromBSONPositionalOrNewerFormat([&] {
- BSONObjBuilder builder;
- version.serializeToBSON("testVersionField", &builder);
- return builder.obj();
- }()["testVersionField"]);
-
- ASSERT_EQ(version, roundTripVersion);
-}
-
-TEST(ChunkVersionTest, ToFromBSONLegacyRoundtrip) {
- ChunkVersion version(1, 2, OID::gen(), Timestamp(42));
- const auto roundTripVersion = ChunkVersion::fromBSONLegacyOrNewerFormat(
- [&] {
- BSONObjBuilder builder;
- version.appendLegacyWithField(&builder, "testVersionField");
- return builder.obj();
- }(),
- "testVersionField");
-
- ASSERT_EQ(version, roundTripVersion);
-}
-
-TEST(ChunkVersionTest, FromBSONMissingTimestamp) {
- ASSERT_THROWS_CODE(ChunkVersion::fromBSONPositionalOrNewerFormat(
- BSON("testVersionField" << BSON_ARRAY(
- Timestamp(Seconds(2), 3) << OID::gen()))["testVersionField"]),
- DBException,
- ErrorCodes::TypeMismatch);
-}
-
-TEST(ChunkVersionTest, FromBSON) {
- const OID oid = OID::gen();
- const Timestamp timestamp(42);
- ChunkVersion chunkVersionComplete = ChunkVersion::fromBSONPositionalOrNewerFormat(
- BSON("testVersionField" << BSON_ARRAY(Timestamp(Seconds(2), 3)
- << oid << timestamp))["testVersionField"]);
-
- ASSERT(chunkVersionComplete.epoch().isSet());
- ASSERT_EQ(oid, chunkVersionComplete.epoch());
- ASSERT_EQ(2u, chunkVersionComplete.majorVersion());
- ASSERT_EQ(3u, chunkVersionComplete.minorVersion());
- ASSERT_EQ(timestamp, chunkVersionComplete.getTimestamp());
-}
-
-TEST(ChunkVersionTest, FromBSONMissingEpoch) {
- ASSERT_THROWS_CODE(
- ChunkVersion::fromBSONPositionalOrNewerFormat(
- BSON("testVersionField" << BSON_ARRAY(Timestamp(Seconds(2), 3)))["testVersionField"]),
- DBException,
- ErrorCodes::TypeMismatch);
-}
-
-TEST(ChunkVersionTest, FromBSONMissingMajorAndMinor) {
- ASSERT_THROWS_CODE(ChunkVersion::fromBSONPositionalOrNewerFormat(
- BSON("testVersionField" << BSON_ARRAY(OID::gen()))["testVersionField"]),
- DBException,
- ErrorCodes::TypeMismatch);
-}
-
-TEST(ChunkVersionTest, FromBSONLegacy_WithTimestamp_WithEpoch) {
- const OID oid = OID::gen();
- ChunkVersion chunkVersionComplete = ChunkVersion::fromBSONLegacyOrNewerFormat(
- BSON("lastmod" << Timestamp(Seconds(2), 3) << "lastmodEpoch" << oid << "lastmodTimestamp"
- << Timestamp(42)),
- "lastmod");
- ASSERT_EQ(Timestamp(42), chunkVersionComplete.getTimestamp());
- ASSERT_EQ(oid, chunkVersionComplete.epoch());
- ASSERT_EQ(2u, chunkVersionComplete.majorVersion());
- ASSERT_EQ(3u, chunkVersionComplete.minorVersion());
-}
-
-TEST(ChunkVersionTest, FromBSONLegacy_NoTimestamp_WithUnshardedEpoch) {
- ChunkVersion chunkVersion = ChunkVersion::fromBSONLegacyOrNewerFormat(
- BSON("lastmod" << Timestamp() << "lastmodEpoch" << ChunkVersion::UNSHARDED().epoch()),
- "lastmod");
- ASSERT_EQ(ChunkVersion::UNSHARDED().getTimestamp(), chunkVersion.getTimestamp());
- ASSERT_EQ(ChunkVersion::UNSHARDED().epoch(), chunkVersion.epoch());
- ASSERT_EQ(0u, chunkVersion.majorVersion());
- ASSERT_EQ(0u, chunkVersion.minorVersion());
-}
-
-TEST(ChunkVersionTest, FromBSONLegacy_NoTimestamp_WithIgnoredEpoch) {
- ChunkVersion chunkVersion = ChunkVersion::fromBSONLegacyOrNewerFormat(
- BSON("lastmod" << Timestamp() << "lastmodEpoch" << ChunkVersion::IGNORED().epoch()),
- "lastmod");
- ASSERT_EQ(ChunkVersion::IGNORED().getTimestamp(), chunkVersion.getTimestamp());
- ASSERT_EQ(ChunkVersion::IGNORED().epoch(), chunkVersion.epoch());
- ASSERT_EQ(0u, chunkVersion.majorVersion());
- ASSERT_EQ(0u, chunkVersion.minorVersion());
-}
-
-TEST(ChunkVersionTest, FromBSONLegacy_NoTimestamp_WithShardedEpoch_Throws) {
- ASSERT_THROWS(
- ChunkVersion::fromBSONLegacyOrNewerFormat(
- BSON("lastmod" << Timestamp(Seconds(3), 4) << "lastmodEpoch" << OID::gen()), "lastmod"),
- DBException);
-}
-
-TEST(ChunkVersionTest, FromBSONLegacy_WithTimestamp_NoEpoch_Throws) {
- ASSERT_THROWS(
- ChunkVersion::fromBSONLegacyOrNewerFormat(
- BSON("lastmod" << Timestamp(Seconds(3), 4) << "lastmodTimestamp" << Timestamp(42)),
- "lastmod"),
- DBException);
-}
-
-TEST(ChunkVersionTest, FromBSONLegacy_NoTimestamp_NoEpoch_Throws) {
- ChunkVersion chunkVersion = ChunkVersion::fromBSONLegacyOrNewerFormat(
- BSON("lastmod" << Timestamp(Seconds(3), 4)), "lastmod");
- ASSERT_EQ(Timestamp(), chunkVersion.getTimestamp());
- ASSERT(!chunkVersion.epoch().isSet());
- ASSERT_EQ(3u, chunkVersion.majorVersion());
- ASSERT_EQ(4u, chunkVersion.minorVersion());
-}
-
TEST(ChunkVersionTest, EqualityOperators) {
OID epoch = OID::gen();
Timestamp timestamp = Timestamp(1);