本文整理汇总了Python中bladerunner.Bladerunner.interactive_hosts方法的典型用法代码示例。如果您正苦于以下问题:Python Bladerunner.interactive_hosts方法的具体用法?Python Bladerunner.interactive_hosts怎么用?Python Bladerunner.interactive_hosts使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bladerunner.Bladerunner
的用法示例。
在下文中一共展示了Bladerunner.interactive_hosts方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_interactive_function_success
# 需要导入模块: from bladerunner import Bladerunner [as 别名]
# 或者: from bladerunner.Bladerunner import interactive_hosts [as 别名]
def test_interactive_function_success():
"""Ensure the function is called when it passes inspection."""
def good_function(session):
return session.run("who")
runner = Bladerunner()
mock_hosts = Mock()
# we need to mock out the interactive_hosts dict b/c dict.values will
# return a new object every time, making the assert_called_once_with fail
runner.interactive_hosts = mock_hosts
map_mock = patch.object(
base.ThreadPoolExecutor,
"map",
return_value=["totes fake"],
)
with patch.object(runner, "setup_interactive") as mock_setup:
with map_mock as mock_map:
res = runner.run_interactive_function(good_function, "some host")
mock_setup.assert_called_once_with("some host")
assert mock_map.call_count == 1
mock_map.assert_called_once_with(
good_function,
mock_hosts.values(),
)
assert res == ["totes fake"]
示例2: test_run_interactive
# 需要导入模块: from bladerunner import Bladerunner [as 别名]
# 或者: from bladerunner.Bladerunner import interactive_hosts [as 别名]
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 == ""
示例3: test_run_interactive_returns
# 需要导入模块: from bladerunner import Bladerunner [as 别名]
# 或者: from bladerunner.Bladerunner import interactive_hosts [as 别名]
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"}
示例4: test_end_interactive
# 需要导入模块: from bladerunner import Bladerunner [as 别名]
# 或者: from bladerunner.Bladerunner import interactive_hosts [as 别名]
def test_end_interactive():
"""Ensure we can remove interactive sessions from teh object pool."""
runner = Bladerunner()
mock_host = Mock()
runner.interactive_hosts = {"fake": mock_host}
runner.end_interactive("fake")
mock_host.end.assert_called_once_with()
assert "fake" not in runner.interactive_hosts
# running this multiple times shouldn't matter/do anything
runner.end_interactive("fake")