diff options
author | Yuhong Zhang <yuhong.zhang@mongodb.com> | 2022-09-10 13:27:36 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-09-10 18:02:42 +0000 |
commit | a02d3716c2872b077d5ce6bab9e84d4d53cda53b (patch) | |
tree | 842379d112ee64da6c87bcb945cae5e24a86d173 | |
parent | b49a00057e0dff06b8af4facfe674e15dce3f814 (diff) | |
download | mongo-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.cpp | 35 |
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 |