summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/sbe/values/value_serialization_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/exec/sbe/values/value_serialization_test.cpp')
-rw-r--r--src/mongo/db/exec/sbe/values/value_serialization_test.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mongo/db/exec/sbe/values/value_serialization_test.cpp b/src/mongo/db/exec/sbe/values/value_serialization_test.cpp
index 3be3212c627..ceacf610a4a 100644
--- a/src/mongo/db/exec/sbe/values/value_serialization_test.cpp
+++ b/src/mongo/db/exec/sbe/values/value_serialization_test.cpp
@@ -467,4 +467,17 @@ TEST_F(ValueSerializeForKeyString, RoundtripWideRow) {
}
runTest(row);
}
+
+// Test that roundtripping through KeyString works for ObjectIdType: ObjectId; bsonObjectId.
+TEST_F(ValueSerializeForKeyString, RoundtripObjectIdType) {
+ auto [objectIdTag, objectIdVal] = value::makeNewObjectId();
+
+ auto oid = OID::gen();
+ auto obj = BSON("" << oid);
+ auto oidStorage = obj.firstElement().value();
+
+ sbe::value::ValueGuard testDataGuard{objectIdTag, objectIdVal};
+ runTest({{objectIdTag, objectIdVal},
+ {value::TypeTags::bsonObjectId, value::bitcastFrom<const char*>(oidStorage)}});
+}
} // namespace mongo::sbe