summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuhong Zhang <yuhong.zhang@mongodb.com>2022-09-10 13:27:36 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-09-10 18:02:42 +0000
commita02d3716c2872b077d5ce6bab9e84d4d53cda53b (patch)
tree842379d112ee64da6c87bcb945cae5e24a86d173
parentb49a00057e0dff06b8af4facfe674e15dce3f814 (diff)
downloadmongo-a02d3716c2872b077d5ce6bab9e84d4d53cda53b.tar.gz
SERVER-64444 SERVER-64877 Add unittests for repairing index specs
(cherry-picked from commit a59e32ba3883e46077a750d1f65f383e35ab3e12)
-rw-r--r--src/mongo/db/catalog/index_key_validate_test.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/mongo/db/catalog/index_key_validate_test.cpp b/src/mongo/db/catalog/index_key_validate_test.cpp
index 2c25d1b8791..adfd2e25a5a 100644
--- a/src/mongo/db/catalog/index_key_validate_test.cpp
+++ b/src/mongo/db/catalog/index_key_validate_test.cpp
@@ -318,5 +318,40 @@ TEST(IndexKeyValidateTest, Background) {
nullptr, fromjson("{key: {a: 1}, name: 'index', background: []}")));
}
+TEST(IndexKeyValidateTest, RemoveUnkownFieldsFromIndexSpecs) {
+ ASSERT(fromjson("{key: {a: 1}, name: 'index'}")
+ .binaryEqual(index_key_validate::removeUnknownFields(
+ NamespaceString("coll"),
+ fromjson("{key: {a: 1}, name: 'index', safe: true, force: true}"))));
+}
+
+TEST(IndexKeyValidateTest, RepairIndexSpecs) {
+ ASSERT(fromjson("{key: {a: 1}, name: 'index'}")
+ .binaryEqual(index_key_validate::repairIndexSpec(
+ NamespaceString("coll"),
+ fromjson("{key: {a: 1}, name: 'index', safe: true, force: true}"))));
+
+ ASSERT(fromjson("{key: {a: 1}, name: 'index', sparse: true}")
+ .binaryEqual(index_key_validate::repairIndexSpec(
+ NamespaceString("coll"),
+ fromjson("{key: {a: 1}, name: 'index', sparse: 'true'}"))));
+
+ ASSERT(fromjson("{key: {a: 1}, name: 'index', background: true}")
+ .binaryEqual(index_key_validate::repairIndexSpec(
+ NamespaceString("coll"),
+ fromjson("{key: {a: 1}, name: 'index', background: '1'}"))));
+
+ ASSERT(fromjson("{key: {a: 1}, name: 'index', sparse: true, background: true}")
+ .binaryEqual(index_key_validate::repairIndexSpec(
+ NamespaceString("coll"),
+ fromjson("{key: {a: 1}, name: 'index', sparse: 'true', background: '1'}"))));
+
+ ASSERT(fromjson("{key: {a: 1}, name: 'index', sparse: true, background: true}")
+ .binaryEqual(index_key_validate::repairIndexSpec(
+ NamespaceString("coll"),
+ fromjson("{key: {a: 1}, name: 'index', sparse: 'true', background: '1', safe: "
+ "true, force: true}"))));
+}
+
} // namespace
} // namespace mongo