def test__worker_process(self, mock_runner, mock_queue, mock_thread, mock_time, mock_log): def time_side(): time_side.last += 0.03 time_side.count += 1 return time_side.last time_side.last = 0 time_side.count = 0 mock_time.time = time_side mock_thread_instance = mock.MagicMock( isAlive=mock.MagicMock(return_value=False)) mock_thread.return_value = mock_thread_instance mock_event = mock.MagicMock( is_set=mock.MagicMock(return_value=False)) mock_event_queue = mock.MagicMock() times = 4 max_concurrent = 3 fake_ram_int = iter(range(10)) context = {"users": [{"tenant_id": "t1", "credential": "c1", "id": "uuid1"}]} info = {"processes_to_start": 1, "processes_counter": 1} mock_runs_per_second = mock.MagicMock(return_value=10) rps._worker_process(mock_queue, fake_ram_int, 1, times, max_concurrent, context, "Dummy", "dummy", (), mock_event_queue, mock_event, mock_runs_per_second, 10, 1, info) self.assertEqual(times, mock_log.debug.call_count) self.assertEqual(times + 1, mock_thread.call_count) self.assertEqual(times + 1, mock_thread_instance.start.call_count) self.assertEqual(times + 1, mock_thread_instance.join.call_count) # NOTE(rvasilets): `times` + 1 here because `times` the number of # scenario repetition and one more need on "initialization" stage # of the thread stuff. self.assertEqual(1, mock_time.sleep.call_count) self.assertEqual(2, mock_thread_instance.isAlive.call_count) self.assertEqual(times * 4 - 1, mock_time.time.count) self.assertEqual(times, mock_runner._get_scenario_context.call_count) for i in range(times): scenario_context = mock_runner._get_scenario_context(i, context) call = mock.call( args=(mock_queue, "Dummy", "dummy", scenario_context, (), mock_event_queue), target=mock_runner._worker_thread, ) self.assertIn(call, mock_thread.mock_calls)
def test__worker_process(self, mock_runner, mock_queue, mock_thread, mock_time, mock_log): def time_side(): time_side.last += 0.03 time_side.count += 1 return time_side.last time_side.last = 0 time_side.count = 0 mock_time.time = time_side mock_thread_instance = mock.MagicMock(isAlive=mock.MagicMock( return_value=False)) mock_thread.return_value = mock_thread_instance mock_event = mock.MagicMock(is_set=mock.MagicMock(return_value=False)) times = 4 max_concurrent = 3 fake_ram_int = iter(range(10)) context = { "users": [{ "tenant_id": "t1", "endpoint": "e1", "id": "uuid1" }] } info = {"processes_to_start": 1, "processes_counter": 1} rps._worker_process(mock_queue, fake_ram_int, 1, 10, times, max_concurrent, context, "Dummy", "dummy", (), mock_event, info) self.assertEqual(times, mock_log.debug.call_count) self.assertEqual(times, mock_thread.call_count) self.assertEqual(times, mock_thread_instance.start.call_count) self.assertEqual(times, mock_thread_instance.join.call_count) self.assertEqual(times - 1, mock_time.sleep.call_count) self.assertEqual(times, mock_thread_instance.isAlive.call_count) self.assertEqual(times * 4 - 1, mock_time.time.count) self.assertEqual(times, mock_runner._get_scenario_context.call_count) for i in range(times): scenario_context = mock_runner._get_scenario_context(context) call = mock.call(args=(mock_queue, (i, "Dummy", "dummy", scenario_context, ())), target=mock_runner._worker_thread) self.assertIn(call, mock_thread.mock_calls)
def test__worker_process(self, mock_base, mock_queue, mock_thread, mock_time, mock_log): def time_side(): time_side.last += 0.03 time_side.count += 1 return time_side.last time_side.last = 0 time_side.count = 0 mock_time.time = time_side mock_thread_instance = mock.MagicMock( isAlive=mock.MagicMock(return_value=False)) mock_thread.return_value = mock_thread_instance mock_event = mock.MagicMock( is_set=mock.MagicMock(return_value=False)) times = 4 max_concurrent = 3 fake_ram_int = iter(range(10)) context = {"users": [{"tenant_id": "t1", "endpoint": "e1", "id": "uuid1"}]} info = {"processes_to_start": 1, "processes_counter": 1} rps._worker_process(mock_queue, fake_ram_int, 1, 10, times, max_concurrent, context, "Dummy", "dummy", (), mock_event, info) self.assertEqual(times, mock_log.debug.call_count) self.assertEqual(times, mock_thread.call_count) self.assertEqual(times, mock_thread_instance.start.call_count) self.assertEqual(times, mock_thread_instance.join.call_count) self.assertEqual(times - 1, mock_time.sleep.call_count) self.assertEqual(times, mock_thread_instance.isAlive.call_count) self.assertEqual(times * 4 - 1, mock_time.time.count) self.assertEqual(times, mock_base._get_scenario_context.call_count) for i in range(times): scenario_context = mock_base._get_scenario_context(context) call = mock.call(args=(mock_queue, (i, "Dummy", "dummy", scenario_context, ())), target=mock_base._worker_thread) self.assertIn(call, mock_thread.mock_calls)