summaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton/documentdb/documentbucketmover/documentmover_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchcore/src/tests/proton/documentdb/documentbucketmover/documentmover_test.cpp')
-rw-r--r--searchcore/src/tests/proton/documentdb/documentbucketmover/documentmover_test.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/searchcore/src/tests/proton/documentdb/documentbucketmover/documentmover_test.cpp b/searchcore/src/tests/proton/documentdb/documentbucketmover/documentmover_test.cpp
index 475d5064104..143d8f290c6 100644
--- a/searchcore/src/tests/proton/documentdb/documentbucketmover/documentmover_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/documentbucketmover/documentmover_test.cpp
@@ -90,6 +90,23 @@ TEST_F(DocumentMoverTest, require_that_we_can_move_all_documents)
}
}
+TEST_F(DocumentMoverTest, require_that_move_is_stalled_if_document_is_pending_commit)
+{
+ setupForBucket(_source.bucket(1), 6, 9);
+ {
+ IPendingLidTracker::Token token = _pendingLidsForCommit.produce(1);
+ EXPECT_FALSE(moveDocuments(5));
+ EXPECT_FALSE(_mover.bucketDone());
+ }
+ EXPECT_TRUE(moveDocuments(5));
+ EXPECT_TRUE(_mover.bucketDone());
+ EXPECT_EQ(5u, _handler._moves.size());
+ EXPECT_EQ(5u, _limiter.beginOpCount);
+ for (size_t i = 0; i < 5u; ++i) {
+ assertEqual(_source.bucket(1), _source.docs(1)[0], 6, 9, _handler._moves[0]);
+ }
+}
+
TEST_F(DocumentMoverTest, require_that_bucket_is_cached_when_IDocumentMoveHandler_handles_move_operation)
{
setupForBucket(_source.bucket(1), 6, 9);