Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
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)
Esempio n. 5
0
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)
Esempio n. 6
0
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)
Esempio n. 7
0
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)
Esempio n. 8
0
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)