Exemplo n.º 1
0
def test_two_commands_uptime_whoami(
        buffer_connection, command_output_and_expected_result_uptime_whoami):
    from moler.cmd.unix.uptime import Uptime
    from moler.cmd.unix.whoami import Whoami
    command_output, expected_result = command_output_and_expected_result_uptime_whoami
    uptime_cmd = Uptime(connection=buffer_connection.moler_connection)
    whoami_cmd = Whoami(connection=buffer_connection.moler_connection)
    uptime_cmd.start(timeout=2)
    time.sleep(0.005)
    whoami_cmd.start(timeout=2)
    time.sleep(0.05)
    assert CommandScheduler.is_waiting_for_execution(
        connection_observer=whoami_cmd) is True
    buffer_connection.moler_connection.data_received(
        command_output[0].encode("utf-8"), datetime.datetime.now())
    time.sleep(0.2)
    buffer_connection.moler_connection.data_received(
        command_output[1].encode("utf-8"), datetime.datetime.now())
    assert EventAwaiter.wait_for_all(timeout=2,
                                     events=[uptime_cmd, whoami_cmd]) is True
    ret_uptime = uptime_cmd.result()
    ret_whoami = whoami_cmd.result()
    assert ret_uptime == expected_result[0]
    assert ret_whoami == expected_result[1]
    assert CommandScheduler.is_waiting_for_execution(
        connection_observer=whoami_cmd) is False
Exemplo n.º 2
0
def test_calling_uptime_timeout_with_short_timeout(buffer_connection):
    uptime_cmd = Uptime(connection=buffer_connection.moler_connection)
    short_timeout = 7
    uptime_cmd.terminating_timeout = 0.2
    uptime_cmd.start(timeout=short_timeout)
    start_time = time.time()
    with pytest.raises(CommandTimeout):
        uptime_cmd.await_done()
    end_time = time.time()
    duration = end_time - start_time
    assert duration < short_timeout + 1
    assert duration >= short_timeout
Exemplo n.º 3
0
def test_calling_uptime_timeout_with_long_timeout(buffer_connection):
    uptime_cmd = Uptime(connection=buffer_connection.moler_connection)
    long_timeout = 300
    uptime_cmd.terminating_timeout = 0.2
    uptime_cmd.start(timeout=long_timeout)
    uptime_cmd.timeout = long_timeout
    start_time = time.time()
    with pytest.raises(CommandTimeout):
        uptime_cmd.await_done(timeout=1)
    end_time = time.time()
    duration = end_time - start_time
    assert duration < long_timeout/10
Exemplo n.º 4
0
def test_two_commands_uptime(buffer_connection,
                             command_output_and_expected_result_uptime):
    from moler.cmd.unix.uptime import Uptime
    command_output, expected_result = command_output_and_expected_result_uptime
    uptime1_cmd = Uptime(connection=buffer_connection.moler_connection,
                         prompt="host:.*#")
    uptime2_cmd = Uptime(connection=buffer_connection.moler_connection,
                         prompt="host:.*#")
    uptime1_cmd.start(timeout=2)
    uptime2_cmd.start(timeout=2)
    time.sleep(0.05)
    buffer_connection.moler_connection.data_received(
        command_output[0].encode("utf-8"), datetime.datetime.now())
    time.sleep(0.2)
    buffer_connection.moler_connection.data_received(
        command_output[1].encode("utf-8"), datetime.datetime.now())
    assert EventAwaiter.wait_for_all(timeout=2,
                                     events=(uptime1_cmd, uptime2_cmd)) is True
    uptime1_ret = uptime1_cmd.result()
    uptime2_ret = uptime2_cmd.result()
    assert uptime1_ret == expected_result[0]
    assert uptime2_ret == expected_result[1]