diff options
author | Geir Storli <geirst@oath.com> | 2017-08-29 14:26:03 +0000 |
---|---|---|
committer | Geir Storli <geirst@oath.com> | 2017-08-29 14:26:03 +0000 |
commit | 45bcabf5d5b8e77fcf7303f373bc587cbc85a17e (patch) | |
tree | a6d64f0c6c3de1dcaa9d1ff91ab0896f4b8be8e7 /searchcore/src/tests/proton | |
parent | 30e27ec2e67439287b2e488a6bbddbfa97ecd4fa (diff) |
Add unit test for removeBatch() on DocumentMetaStore.
Diffstat (limited to 'searchcore/src/tests/proton')
-rw-r--r-- | searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp b/searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp index c9761ee7e6e..a389e702c69 100644 --- a/searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp +++ b/searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp @@ -2017,6 +2017,53 @@ TEST("require that document sizes are saved") TEST_DO(assertSize(dms4, 3, 1)); } +namespace { + +void +assertLidGidFound(uint32_t lid, DocumentMetaStore &dms) +{ + GlobalId gid = createGid(lid); + EXPECT_TRUE(assertLid(lid, gid, dms)); + EXPECT_TRUE(assertGid(gid, lid, dms)); + EXPECT_TRUE(dms.validLid(lid)); +} + +void +assertLidGidNotFound(uint32_t lid, DocumentMetaStore &dms) +{ + GlobalId gid = createGid(lid); + uint32_t resultLid; + GlobalId resultGid; + EXPECT_FALSE(dms.getLid(gid, resultLid)); + EXPECT_FALSE(dms.getGid(lid, resultGid)); + EXPECT_FALSE(dms.validLid(lid)); +} + +} + +TEST("require that multiple lids can be removed with removeBatch()") +{ + DocumentMetaStore dms(createBucketDB()); + dms.constructFreeList(); + TEST_DO(addLid(dms, 1)); + TEST_DO(addLid(dms, 2)); + TEST_DO(addLid(dms, 3)); + TEST_DO(addLid(dms, 4)); + + TEST_DO(assertLidGidFound(1, dms)); + TEST_DO(assertLidGidFound(2, dms)); + TEST_DO(assertLidGidFound(3, dms)); + TEST_DO(assertLidGidFound(4, dms)); + + dms.removeBatch({1, 3}, 5); + dms.removeBatchComplete({1, 3}); + + TEST_DO(assertLidGidNotFound(1, dms)); + TEST_DO(assertLidGidFound(2, dms)); + TEST_DO(assertLidGidNotFound(3, dms)); + TEST_DO(assertLidGidFound(4, dms)); +} + } TEST_MAIN() |