diff --git a/tests/test_util.py b/tests/test_util.py index 22cc0c22..d535a505 100644 --- a/tests/test_util.py +++ b/tests/test_util.py @@ -1,3 +1,4 @@ +from unittest.mock import patch, call import pytest import queue @@ -121,3 +122,24 @@ def test_pool_raises_empty_exception_when_timeout(mock_queue): with pool() as instance: assert instance == 'hello' + +@patch('multiprocessing.Process') +def test_process_group_instantiates_and_start_processes(mock_process): + from bigchaindb.util import ProcessGroup + + def noop(): + pass + + concurrency = 10 + + pg = ProcessGroup(concurrency=concurrency, group='test_group', target=noop) + pg.start() + + mock_process.assert_has_calls([call(group='test_group', target=noop, + name=None, args=(), kwargs={}, + daemon=None) + for i in range(concurrency)], any_order=True) + + for process in pg.processes: + process.start.assert_called() +