def test_no_task_ids(self, get_multi_async): """Ensure no results are yielded out when there are no task ids on the passed in context. """ get_multi_async.return_value = [] context = Context(_task_ids=[]) results = list(iter_context_results(context)) self.assertEqual(results, [])
def test_no_task_ids(self, get_multi_async): """Ensure no results are yielded out when there are no task ids on the passed in context. """ get_multi_async.return_value = [] context = Context(_task_ids=[]) results = list(iter_context_results(context)) self.assertEqual(results, [])
def test_keys_with_no_results(self, get_multi_async): """Ensure empty results are yielded out when there are no items to load but task ids are on the passed in context. """ future_set_1 = [_build_future(), _build_future(), _build_future()] get_multi_async.return_value = future_set_1 context = Context(_task_ids=["1", "2", "3"]) results = list(iter_context_results(context)) self.assertEqual(results[0], ("1", None)) self.assertEqual(results[1], ("2", None)) self.assertEqual(results[2], ("3", None))
def test_keys_with_no_results(self, get_multi_async): """Ensure empty results are yielded out when there are no items to load but task ids are on the passed in context. """ future_set_1 = [_build_future(), _build_future(), _build_future()] get_multi_async.return_value = future_set_1 context = Context(_task_ids=["1", "2", "3"]) results = list(iter_context_results(context)) self.assertEqual(results[0], ("1", None)) self.assertEqual(results[1], ("2", None)) self.assertEqual(results[2], ("3", None))
def test_less_results_than_batch_size(self, get_multi_async): """Ensure all the results are yielded out when less than the batch size. """ marker1 = _build_marker(payload="1", status=1) marker2 = _build_marker(payload="2", status=1) marker3 = _build_marker(payload="3", status=1) future_set_1 = [_build_future(marker1), _build_future(marker2), _build_future(marker3)] get_multi_async.return_value = future_set_1 context = Context(_task_ids=["1", "2", "3"]) results = list(iter_context_results(context)) self.assertEqual(results[0], ("1", marker1)) self.assertEqual(results[1], ("2", marker2)) self.assertEqual(results[2], ("3", marker3))
def test_more_results_than_batch_size(self, get_multi_async): """Ensure all the results are yielded out when more than the batch size. """ marker1 = _build_marker(payload="1", status=1) marker2 = _build_marker(payload="2", status=1) marker3 = _build_marker(payload="3", status=1) future_set_1 = [_build_future(marker1), _build_future(marker2)] future_set_2 = [_build_future(marker3)] get_multi_async.side_effect = future_set_1, future_set_2 context = Context(_task_ids=["1", "2", "3"]) results = list(iter_context_results(context, batch_size=2)) self.assertEqual(results[0], ("1", marker1)) self.assertEqual(results[1], ("2", marker2)) self.assertEqual(results[2], ("3", marker3))