def test_run_interactive(capfd): """Ensure the calls to run a command on a list of hosts interactively.""" runner = Bladerunner({"threads": 14}) fake_result = Mock() fake_result.result = Mock(return_value="fake results") mock_con = Mock() runner.interactive_hosts = {"fake host": mock_con} fake_thread = Mock() fake_thread.__enter__ = fake_context fake_thread.__exit__ = fake_context fake_thread.submit = Mock(return_value=fake_result) threadpool_mock = patch.object( base, "ThreadPoolExecutor", return_value=fake_thread, ) with patch.object(runner, "setup_interactive") as mock_setup: with threadpool_mock as mock_threadpool: runner.run_interactive("fake cmd", "fake host") mock_setup.assert_called_once_with("fake host") mock_threadpool.assert_called_once_with(max_workers=14) stdout, stderr = capfd.readouterr() assert stdout == "fake host: fake results\n" assert stderr == ""
def test_run_interactive(capfd): """Ensure the calls to run a command on a list of hosts interactively.""" runner = Bladerunner({"threads": 14}) fake_result = Mock() fake_result.result = Mock(return_value="fake results") mock_con = Mock() runner.interactive_hosts = {"fake host": mock_con} fake_thread = Mock() fake_thread.__enter__ = fake_context fake_thread.__exit__ = fake_context fake_thread.submit = Mock(return_value=fake_result) threadpool_mock = patch.object( base, "ThreadPoolExecutor", return_value=fake_thread, ) with patch.object(runner, "setup_interactive") as mock_setup: with threadpool_mock as mock_threadpool: runner.run_interactive("fake cmd", "fake host") mock_setup.assert_called_once_with("fake host") mock_threadpool.assert_called_once_with(max_workers=14) stdout, stderr = capfd.readouterr() assert stdout == "fake host: fake results\n" assert stderr == ""
def test_run_interactive_returns(): """Confirm the dict return when print_results is False.""" runner = Bladerunner({"threads": 17}) fake_result = Mock() fake_result.result = Mock(return_value="some result") mock_con = Mock() runner.interactive_hosts = {"host": mock_con} fake_thread = Mock() fake_thread.__enter__ = fake_context fake_thread.__exit__ = fake_context fake_thread.submit = Mock(return_value=fake_result) threadpool_mock = patch.object( base, "ThreadPoolExecutor", return_value=fake_thread, ) with patch.object(runner, "setup_interactive") as mock_setup: with threadpool_mock as mock_threadpool: results = runner.run_interactive("ok", "host", print_results=False) mock_setup.assert_called_once_with("host") mock_threadpool.assert_called_once_with(max_workers=17) assert results == {"host": "some result"}
def test_run_interactive_returns(): """Confirm the dict return when print_results is False.""" runner = Bladerunner({"threads": 17}) fake_result = Mock() fake_result.result = Mock(return_value="some result") mock_con = Mock() runner.interactive_hosts = {"host": mock_con} fake_thread = Mock() fake_thread.__enter__ = fake_context fake_thread.__exit__ = fake_context fake_thread.submit = Mock(return_value=fake_result) threadpool_mock = patch.object( base, "ThreadPoolExecutor", return_value=fake_thread, ) with patch.object(runner, "setup_interactive") as mock_setup: with threadpool_mock as mock_threadpool: results = runner.run_interactive("ok", "host", print_results=False) mock_setup.assert_called_once_with("host") mock_threadpool.assert_called_once_with(max_workers=17) assert results == {"host": "some result"}