def test_try_for_unmatched_works(): """Ensure logic when the first attempt at guessing works.""" runner = Bladerunner() server = Mock() with patch.object(runner, "_push_expect_forward") as p_push: with patch.object(base, "format_output") as p_format: runner._try_for_unmatched_prompt( server, bytes_or_string("fake output"), "fake", ) assert "fake\\ output" in runner.options["shell_prompts"] p_format.assert_called_once_with( bytes_or_string("fake output"), "fake", runner.options, ) p_push.assert_called_once_with(server)
def test_try_for_unmatched_works(): """Ensure logic when the first attempt at guessing works.""" runner = Bladerunner() server = Mock() with patch.object(runner, "_push_expect_forward") as p_push: with patch.object(base, "format_output") as p_format: runner._try_for_unmatched_prompt( server, bytes_or_string("fake output"), "fake", ) assert "fake\\ output" in runner.options["shell_prompts"] p_format.assert_called_once_with( bytes_or_string("fake output"), "fake", runner.options, ) p_push.assert_called_once_with(server)
def test_try_unmatched_works_from_login(): """When guessing prompt on login, return the server object and status.""" runner = Bladerunner() server = Mock() with patch.object(runner, "_push_expect_forward") as p_push: ret = runner._try_for_unmatched_prompt( server, bytes_or_string("out"), "fake", True, ) p_push.assert_called_once_with(server) assert ret == (server, 1)
def test_try_unmatched_works_from_login(): """When guessing prompt on login, return the server object and status.""" runner = Bladerunner() server = Mock() with patch.object(runner, "_push_expect_forward") as p_push: ret = runner._try_for_unmatched_prompt( server, bytes_or_string("out"), "fake", True, ) p_push.assert_called_once_with(server) assert ret == (server, 1)
def test_try_for_unmatched_fails(): """Bladerunner "hits enter" up to 3 times to try to guess the prompt.""" runner = Bladerunner() server = Mock() server.expect = Mock(side_effect=pexpect.TIMEOUT("fake")) server.before = bytes_or_string("mock output") with patch.object(runner, "send_interrupt") as p_interrupt: ret = runner._try_for_unmatched_prompt( server, bytes_or_string("out"), "fake", ) assert ret == -1 assert "out" in runner.options["shell_prompts"] p_interrupt.assert_called_once_with(server)
def test_try_for_unmatched_fails(): """Bladerunner "hits enter" up to 3 times to try to guess the prompt.""" runner = Bladerunner() server = Mock() server.expect = Mock(side_effect=pexpect.TIMEOUT("fake")) server.before = bytes_or_string("mock output") with patch.object(runner, "send_interrupt") as p_interrupt: ret = runner._try_for_unmatched_prompt( server, bytes_or_string("out"), "fake", ) assert ret == -1 assert "out" in runner.options["shell_prompts"] p_interrupt.assert_called_once_with(server)
def test_try_unmatched_fails_from_login(): """When trying to guess on login, return None, -6 on error.""" runner = Bladerunner() server = Mock() server.expect = Mock(side_effect=pexpect.TIMEOUT("fake")) server.before = bytes_or_string("mock output") with patch.object(runner, "send_interrupt") as p_interrupt: ret = runner._try_for_unmatched_prompt( server, bytes_or_string("out"), "fake", True, ) assert ret == (None, -6) assert "out" in runner.options["shell_prompts"] p_interrupt.assert_called_once_with(server)
def test_try_unmatched_fails_from_login(): """When trying to guess on login, return None, -6 on error.""" runner = Bladerunner() server = Mock() server.expect = Mock(side_effect=pexpect.TIMEOUT("fake")) server.before = bytes_or_string("mock output") with patch.object(runner, "send_interrupt") as p_interrupt: ret = runner._try_for_unmatched_prompt( server, bytes_or_string("out"), "fake", True, ) assert ret == (None, -6) assert "out" in runner.options["shell_prompts"] p_interrupt.assert_called_once_with(server)