Example #1
0
def test_send(socket):
    data = "host:version"
    with patch.object(Socket, '_send_data') as send_data_method:
        socket.send(data)

        calls = [call(int_to_hex(len(data))), call(data)]
        send_data_method.assert_has_calls(calls)
Example #2
0
def test_receive_fail_response(socket):
    expected_data = 'big error'
    responses = ['FA', 'IL', int_to_hex(len(expected_data)), expected_data]
    socket.socket.recv = lambda x: responses.pop(0).encode("ascii")

    with pytest.raises(SocketError):
        socket.receive()
Example #3
0
def test_receive_staggered_respose(socket):
    expected_data = '950a8ad5\toffline\n6097191b\tdevice\n'
    responses = [
        'OK', 'AY',
        int_to_hex(len(expected_data)), expected_data[:10], expected_data[10:]
    ]
    socket.socket.recv = lambda x: responses.pop(0).encode("ascii")

    data = socket.receive()

    assert data == expected_data
Example #4
0
def test_receive_full_respose(socket):
    expected_data = 'hello_respose'
    responses = ['OKAY', '000d', expected_data]
    socket.socket.recv = lambda x: responses.pop(0).encode("ascii")

    data = socket.receive()

    assert data == expected_data

    expected_data = '950a8ad5\toffline\n6097191b\tdevice\n'
    responses = ['OKAY', int_to_hex(len(expected_data)), expected_data]

    data = socket.receive()

    assert data == expected_data
Example #5
0
def test_int_to_hex_overflow():
    with pytest.raises(ValueError):
        int_to_hex(65536)
Example #6
0
def test_int_to_hex():
    assert int_to_hex(2) == "0002"
    assert int_to_hex(255) == "00ff"
    assert int_to_hex(256) == "0100"
    assert int_to_hex(100) == "0064"
    assert int_to_hex(0) == "0000"