Fix an off by one error in the common backfill code
This commit is contained in:
parent
ca8e9d89c8
commit
941d13ea3e
2 changed files with 32 additions and 7 deletions
|
@ -3,7 +3,7 @@ import logging
|
|||
import random
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
from util.migrate.allocator import CompletedKeys, NoAvailableKeysError
|
||||
from util.migrate.allocator import CompletedKeys, NoAvailableKeysError, yield_random_entries
|
||||
|
||||
|
||||
class CompletedTestCase(unittest.TestCase):
|
||||
|
@ -127,6 +127,31 @@ class CompletedTestCase(unittest.TestCase):
|
|||
self.assertGreater(iterations, 1024)
|
||||
|
||||
|
||||
class FakeQuery(object):
|
||||
def __init__(self, result_list):
|
||||
self._result_list = result_list
|
||||
|
||||
def limit(self, *args, **kwargs):
|
||||
return self
|
||||
|
||||
def where(self, *args, **kwargs):
|
||||
return self
|
||||
|
||||
def __iter__(self):
|
||||
return self._result_list.__iter__()
|
||||
|
||||
|
||||
class QueryAllocatorTest(unittest.TestCase):
|
||||
FAKE_PK_FIELD = 10 # Must be able to compare to integers
|
||||
|
||||
def test_no_work(self):
|
||||
def create_empty_query():
|
||||
return FakeQuery([])
|
||||
|
||||
for _ in yield_random_entries(create_empty_query, self.FAKE_PK_FIELD, 1, 10):
|
||||
self.fail('There should never be any actual work!')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
unittest.main()
|
||||
|
|
Reference in a new issue