def test_count_controller(self): buffer = Buffer(count_threshold=10) payload = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] records = [Record(payload=p) for p in payload] result_false = buffer._count_controller(records[:6]) result_true = buffer._count_controller(records) self.assertFalse( result_false, 'Count controller should return False with 6 records') self.assertTrue(result_true, 'Count controller should return True with 11 records')
def test_execute_disjoint(self): custom_controller = MagicMock(side_effect=lambda x: False) buffer = Buffer(count_threshold=1, time_threshold=1, custom_controllers=custom_controller) buffer._count_controller = MagicMock(side_effect=lambda x: False) buffer._time_controller = MagicMock(side_effect=lambda x: False) payload = [1, 2, 3] records = [Record(payload=p) for p in payload] buffer._execute(records) buffer._count_controller.assert_called_with(records) buffer._time_controller.assert_called_with(records) custom_controller.assert_called_with(records)
def test_execute_conjoint_true(self): custom_controller = MagicMock(side_effect=lambda x: True) buffer = Buffer(count_threshold=1, time_threshold=1, custom_controllers=custom_controller, conjugate_controllers=True) buffer._count_controller = MagicMock(side_effect=lambda x: True) buffer._time_controller = MagicMock(side_effect=lambda x: True) payload = [1, 2, 3] records = [Record(payload=p) for p in payload] result = buffer._execute(records) buffer._count_controller.assert_called_with(records) buffer._time_controller.assert_called_with(records) custom_controller.assert_called_with(records) self.assertEqual(result, records)