def METHOD_NAME(self):
    with mock.patch.object(
            asyncio, 'create_subprocess_exec',
            mock.Mock(wraps=self._mock_async_subprocess),
    ) as m:
        loop = asyncio.get_event_loop()
        actual = loop.run_until_complete(
            subprocess_workflow.exec_and_parse_subprocesses_async(
                self.mock_params,
                self._mock_arg_factory,
                self.mock_parser_callback,
            ),
        )
        self.assertEqual([42, 42], list(actual))
        m.assert_has_calls([
            mock.call(
                'param1', 'a', 'b',
                stdout=subprocess.PIPE,
                stderr=subprocess.PIPE,
            ),
            mock.call(
                'param2', 'a', 'b',
                stdout=subprocess.PIPE,
                stderr=subprocess.PIPE,
            ),
        ])
        self.mock_parser_callback.assert_has_calls([
            mock.call('stdout', 'stderr', 'param1'),
            mock.call('stdout', 'stderr', 'param2'),
        ])