From ed1e71bfecc1467b66860e27a2cbf21d90bfd3b2 Mon Sep 17 00:00:00 2001 From: vrde Date: Wed, 20 Apr 2016 18:18:01 +0200 Subject: [PATCH] Add tests to ProcessGroup --- tests/test_util.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) 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() +