Esempio n. 1
0
def test_ShutdownClientServer():
    a = Comm()
    b = Comm()
    a.listen(31415)
    b.connect(31415)

    b.shutdown()
    a.shutdown()

    assert threading.active_count() <= 1
Esempio n. 2
0
def test_ShutdownClientServer():
    a = Comm()
    b = Comm()
    a.listen(31415)
    b.connect(31415)

    b.shutdown()
    a.shutdown()

    assert threading.active_count() <= 1
Esempio n. 3
0
def test_discover():
    a = Comm()
    b = Comm()
    a.listen()
    a.advertise("a_test")
    res = b.discover()

    assert len(res) >= 1

    a.stopAdvertising()
Esempio n. 4
0
def test_discover():
    a = Comm()
    b = Comm()
    a.listen()
    a.advertise("a_test")
    res = b.discover()

    assert len(res) >= 1

    a.stopAdvertising()
Esempio n. 5
0
def test_asynchronousConnect(data_in):
    a = Comm()
    b = Comm()

    a.listen()
    b.connect(a.port, timeout=0)

    data_in = "test data"
    b.send(data_in)
    data_out = a.recv(timeout=0.5)
    assert data_in == data_out
Esempio n. 6
0
def test_asynchronousConnect(data_in):
    a = Comm()
    b = Comm()

    a.listen()
    b.connect(a.port, timeout=0)

    data_in = "test data"
    b.send(data_in)
    data_out = a.recv(timeout=0.5)
    assert data_in == data_out
Esempio n. 7
0
def test_receiveAddress(data_in):
    a = Comm()
    b = Comm()
    a.listen()
    b.connect(a.port)

    mid = a.send(data_in)
    src, data_out = b.receive(timeout=0.5)

    assert data_out == data_in
    assert src == ("127.0.0.1", a.port)
Esempio n. 8
0
def test_receiveAddress(data_in):
    a = Comm()
    b = Comm()
    a.listen()
    b.connect(a.port)

    mid = a.send(data_in)
    src, data_out = b.receive(timeout=0.5)

    assert data_out == data_in
    assert src == ("127.0.0.1", a.port)
Esempio n. 9
0
def test_CreateTwoServersBackToBack():
    a = Comm()
    b = Comm()
    c = Comm()

    a.listen()
    a.shutdown()
    b.listen(a.port)
    c.connect(b.port)

    c.send(data[0])
    data_out = b.recv(timeout=0.5)
    assert data[0] == data_out

    a.shutdown()
    b.shutdown()
    c.shutdown()
Esempio n. 10
0
def test_SendMultipleDataMultipleClientWithTarget():
    a = Comm()
    b = Comm()
    c = Comm()
    d = Comm()
    e = Comm()
    a.listen()
    b.connect(a.port)
    c.connect(a.port)
    d.connect(a.port)
    e.connect(a.port)

    b.send(data[0])
    data_out = a.recv(timeout=0.5)
    assert data_out == data[0]

    c.send(data[1])
    data_out = a.recv(timeout=0.5)
    assert data_out == data[1]

    d.send(data[2])
    e.send(data[3])
    data_out1 = a.recv(timeout=0.5, source=("127.0.0.1", e.port))
    data_out2 = a.recv(timeout=0.5, source=("127.0.0.1", d.port))
    assert data_out1 in data[2:]
    assert data_out2 in data[2:]

    a.shutdown()
    b.shutdown()
    c.shutdown()
    d.shutdown()
    e.shutdown()
Esempio n. 11
0
def test_wrongTarget(data_in):
    a = Comm()
    random_target = ('127.1.1.5', 32323)
    with pytest.raises(KeyError):
        a.send(data_in, target=random_target)
Esempio n. 12
0
def test_SendMultipleData(data_in1, data_in2):
    a = Comm()
    b = Comm()
    a.listen()
    b.connect(a.port)

    b.send(data_in1)
    b.send(data_in2)

    data_out1, data_out2 = a.recv(timeout=0.5), a.recv(timeout=0.5)

    assert data_in1 == data_out1
    assert data_in2 == data_out2

    a.shutdown()
    b.shutdown()
Esempio n. 13
0
def test_SendTarget(data_in):
    a = Comm()
    b = Comm()
    c = Comm()
    a.listen()
    b.listen()
    c.connect(a.port)
    c.connect(b.port)

    target = ('127.0.0.1', a.port)

    c.send(data_in, target=target)
    data_out1, data_out2 = a.recv(timeout=0.5), b.recv(timeout=0.1)
    assert data_out1 == data_in
    assert data_out2 is None

    a.shutdown()
    b.shutdown()
    c.shutdown()
Esempio n. 14
0
def test_SendMultipleData():
    a = Comm()
    b = Comm()
    a.listen()
    b.connect(a.port)

    for y in range(10):
        for x in data:
            b.send(x)

    for y in range(10):
        for x in data:
            data_out = a.recv(timeout=0.5)
            assert x == data_out

    a.shutdown(); b.shutdown()
Esempio n. 15
0
def test_multipleListen(data_in):
    a = Comm()
    b = Comm()

    a.listen(12340)
    a.listen(12341)
    b.connect(12340)
    b.connect(12341)

    data_in = "test data"
    b.send(data_in)
    data_out1, data_out2 = a.recv(timeout=0.5), a.recv(timeout=0.5)
    assert data_in == data_out1
    assert data_in == data_out2

    a.shutdown()
    b.shutdown()
Esempio n. 16
0
def test_disconnect(data_in):
    a = Comm()
    b = Comm()
    a.listen()
    b.connect(a.port)

    target_b = ('127.0.0.1', a.port)
    target_a = ('127.0.0.1', list(b.sockets.values())[0].getsockname()[1])
    data_in = 'disconnect test'

    b.send(data_in)
    
    # Simulate a loss of connection and packet
    time.sleep(0.1)
    b.sockets[target_b].shutdown(2)
    try:
        b.sockets[target_b].close()
    except KeyError:
        pass
    a.data_received.pop(target_a, None)
    a.sockets[target_a].shutdown(2)
    try:
        a.sockets[target_a].close()
    except KeyError:
        pass

    data_out = a.recv(timeout=0.5)
    assert data_out == data_in

    a.shutdown(); b.shutdown()
Esempio n. 17
0
def test_wronglyConfiguredComm():
    a = Comm(compress=COMP_ZLIB_DEFAULT)
    b = Comm(compress=None)
    a.listen()
    with pytest.raises(AssertionError):
        b.connect(a.port)
Esempio n. 18
0
def test_compressionAndSecure(data_in):
    a = Comm(compress=COMP_ZLIB_DEFAULT, secure=True)
    b = Comm(compress=COMP_ZLIB_DEFAULT, secure=True)

    a.listen()
    b.connect(a.port)

    b.send(data_in)
    data_out = a.recv(timeout=0.5)
    assert data_out == data_in

    a.shutdown(); b.shutdown()
Esempio n. 19
0
def test_SendMultipleDataMultipleClientWithTarget():
    a = Comm()
    b = Comm()
    c = Comm()
    d = Comm()
    e = Comm()
    a.listen()
    b.connect(a.port)
    c.connect(a.port)
    d.connect(a.port)
    e.connect(a.port)

    b.send(data[0])
    data_out = a.recv(timeout=0.5)
    assert data_out == data[0]

    c.send(data[1])
    data_out = a.recv(timeout=0.5)
    assert data_out == data[1]

    d.send(data[2])
    e.send(data[3])
    data_out1 = a.recv(timeout=0.5, source=("127.0.0.1", e.port))
    data_out2 = a.recv(timeout=0.5, source=("127.0.0.1", d.port))
    assert data_out1 in data[2:]
    assert data_out2 in data[2:]

    a.shutdown(); b.shutdown(); c.shutdown(); d.shutdown(); e.shutdown()
Esempio n. 20
0
def test_securityServer(data_in):
    a = Comm(secure=True)
    b = Comm(secure=True)

    a.listen()
    b.connect(a.port)

    a.send(data_in)
    data_out = b.recv(timeout=0.5)
    a.recv(timeout=0.5) # Test the acknowledgment
    assert data_out == data_in

    a.shutdown(); b.shutdown()
Esempio n. 21
0
def test_CreateTwoServersBackToBack():
    a = Comm()
    b = Comm()
    c = Comm()

    a.listen()
    a.shutdown()
    b.listen(a.port)
    c.connect(b.port)

    c.send(data[0])
    data_out = b.recv(timeout=0.5)
    assert data[0] == data_out

    a.shutdown(); b.shutdown(); c.shutdown()
Esempio n. 22
0
def test_securityServer(data_in):
    a = Comm(secure=True)
    b = Comm(secure=True)

    a.listen()
    b.connect(a.port)

    a.send(data_in)
    data_out = b.recv(timeout=0.5)
    a.recv(timeout=0.5)  # Test the acknowledgment
    assert data_out == data_in

    a.shutdown()
    b.shutdown()
Esempio n. 23
0
def test_wronglyConfiguredComm():
    a = Comm(compress=COMP_ZLIB_DEFAULT)
    b = Comm(compress=None)
    a.listen()
    with pytest.raises(AssertionError):
        b.connect(a.port)
Esempio n. 24
0
def test_multipleListen(data_in):
    a = Comm()
    b = Comm()

    a.listen(12340)
    a.listen(12341)
    b.connect(12340)
    b.connect(12341)

    data_in = "test data"
    b.send(data_in)
    data_out1, data_out2 = a.recv(timeout=0.5), a.recv(timeout=0.5)
    assert data_in == data_out1
    assert data_in == data_out2

    a.shutdown(); b.shutdown()
Esempio n. 25
0
def test_SendMultipleTargets(data_in):
    a = Comm()
    b = Comm()
    c = Comm()
    d = Comm()
    a.listen()
    b.listen()
    c.listen()
    d.connect(a.port)
    d.connect(b.port)
    d.connect(c.port)

    targets = [('127.0.0.1', a.port), ('127.0.0.1', b.port)]

    d.send(data_in, target=targets)
    data_out1, data_out2, data_out3 = a.recv(timeout=0.5), b.recv(timeout=0.5), c.recv(timeout=0.1)
    assert data_in == data_out1
    assert data_in == data_out2
    assert data_out3 is None

    a.shutdown(); b.shutdown(); c.shutdown(); d.shutdown()
Esempio n. 26
0
def test_wrongTarget(data_in):
    a = Comm()
    random_target = ('127.1.1.5', 32323)
    with pytest.raises(KeyError):
        a.send(data_in, target=random_target)
Esempio n. 27
0
def test_SendTarget(data_in):
    a = Comm()
    b = Comm()
    c = Comm()
    a.listen()
    b.listen()
    c.connect(a.port)
    c.connect(b.port)

    target = ('127.0.0.1', a.port)

    c.send(data_in, target=target)
    data_out1, data_out2 = a.recv(timeout=0.5), b.recv(timeout=0.1)
    assert data_out1 == data_in
    assert data_out2 is None

    a.shutdown(); b.shutdown(); c.shutdown()
Esempio n. 28
0
def test_noTarget(data_in):
    a = Comm()
    a.send(data_in)
Esempio n. 29
0
def test_SendMultipleTargets(data_in):
    a = Comm()
    b = Comm()
    c = Comm()
    d = Comm()
    a.listen()
    b.listen()
    c.listen()
    d.connect(a.port)
    d.connect(b.port)
    d.connect(c.port)

    targets = [('127.0.0.1', a.port), ('127.0.0.1', b.port)]

    d.send(data_in, target=targets)
    data_out1, data_out2, data_out3 = a.recv(timeout=0.5), b.recv(
        timeout=0.5), c.recv(timeout=0.1)
    assert data_in == data_out1
    assert data_in == data_out2
    assert data_out3 is None

    a.shutdown()
    b.shutdown()
    c.shutdown()
    d.shutdown()
Esempio n. 30
0
def test_discover_specific():
    a = Comm()
    b = Comm()
    c = Comm()
    a.listen()
    c.listen()
    a.advertise("b_test")
    c.advertise("other_test")
    res = b.discover("b_test")

    assert len(res) == 1

    a.stopAdvertising()
Esempio n. 31
0
def test_noTarget(data_in):
    a = Comm()
    a.send(data_in)
Esempio n. 32
0
def test_ShutdownMultiple():
    a = Comm()
    b = Comm()
    c = Comm()
    a.listen(27182)
    b.connect(27182)
    c.connect(27182)

    c.shutdown()
    b.shutdown()
    a.shutdown()

    assert threading.active_count() <= 1
Esempio n. 33
0
def test_ShutdownSimple():
    a = Comm()

    a.shutdown()

    assert threading.active_count() <= 1
Esempio n. 34
0
def test_messageIDSimple(data_in):
    a = Comm()
    b = Comm()
    a.listen()
    b.connect(a.port)

    mid = b.send(data_in)

    assert b.is_acknowledged(mid) == False

    data_out = a.recv(timeout=0.5)
    b.recv(timeout=0.5)

    assert data_out == data_in
    assert b.is_acknowledged(mid) == True
Esempio n. 35
0
def test_SendMultipleData():
    a = Comm()
    b = Comm()
    a.listen()
    b.connect(a.port)

    for y in range(10):
        for x in data:
            b.send(x)

    for y in range(10):
        for x in data:
            data_out = a.recv(timeout=0.5)
            assert x == data_out

    a.shutdown()
    b.shutdown()
Esempio n. 36
0
def test_messageIDNonListening(data_in):
    a = Comm()
    b = Comm()
    a.listen()
    b.connect(a.port)
    a.shutdown()

    mid = b.send(data_in)
    b.recv(timeout=0.5)

    assert b.is_acknowledged(mid) == False
Esempio n. 37
0
def test_SendMultipleData(data_in1, data_in2):
    a = Comm()
    b = Comm()
    a.listen()
    b.connect(a.port)

    b.send(data_in1)
    b.send(data_in2)

    data_out1, data_out2 = a.recv(timeout=0.5), a.recv(timeout=0.5)

    assert data_in1 == data_out1
    assert data_in2 == data_out2

    a.shutdown(); b.shutdown()
Esempio n. 38
0
def test_messageIDInterruption(data_in):
    a = Comm()
    b = Comm()
    a.listen()
    serv_port = a.port
    b.connect(serv_port)
    a.shutdown()

    mid = b.send(data_in)
    b.recv(timeout=0.5)

    assert b.is_acknowledged(mid) == False

    a.listen(serv_port)
    b.recv(timeout=0.5)

    assert b.is_acknowledged(mid) == False

    a.recv(timeout=0.5)
    b.recv(timeout=0.5)

    assert b.is_acknowledged(mid) == True
Esempio n. 39
0
def test_compressionAndSecure(data_in):
    a = Comm(compress=COMP_ZLIB_DEFAULT, secure=True)
    b = Comm(compress=COMP_ZLIB_DEFAULT, secure=True)

    a.listen()
    b.connect(a.port)

    b.send(data_in)
    data_out = a.recv(timeout=0.5)
    assert data_out == data_in

    a.shutdown()
    b.shutdown()
Esempio n. 40
0
def test_discover_specific():
    a = Comm()
    b = Comm()
    c = Comm()
    a.listen()
    c.listen()
    a.advertise("b_test")
    c.advertise("other_test")
    res = b.discover("b_test")

    assert len(res) == 1

    a.stopAdvertising()
Esempio n. 41
0
def test_disconnect(data_in):
    a = Comm()
    b = Comm()
    a.listen()
    b.connect(a.port)

    target_b = ('127.0.0.1', a.port)
    target_a = ('127.0.0.1', list(b.sockets.values())[0].getsockname()[1])
    data_in = 'disconnect test'

    b.send(data_in)

    # Simulate a loss of connection and packet
    time.sleep(0.1)
    b.sockets[target_b].shutdown(2)
    try:
        b.sockets[target_b].close()
    except KeyError:
        pass
    a.data_received.pop(target_a, None)
    a.sockets[target_a].shutdown(2)
    try:
        a.sockets[target_a].close()
    except KeyError:
        pass

    data_out = a.recv(timeout=0.5)
    assert data_out == data_in

    a.shutdown()
    b.shutdown()
Esempio n. 42
0
def test_messageIDNonListening(data_in):
    a = Comm()
    b = Comm()
    a.listen()
    b.connect(a.port)
    a.shutdown()

    mid = b.send(data_in)
    b.recv(timeout=0.5)

    assert b.is_acknowledged(mid) == False
Esempio n. 43
0
def test_ShutdownMultiple():
    a = Comm()
    b = Comm()
    c = Comm()
    a.listen(27182)
    b.connect(27182)
    c.connect(27182)

    c.shutdown()
    b.shutdown()
    a.shutdown()

    assert threading.active_count() <= 1
Esempio n. 44
0
def test_SendToSingleClient(data_in):
    a = Comm()
    b = Comm()
    a.listen()
    b.connect(a.port)

    a.send(data_in)
    data_out = b.recv(timeout=0.5)
    assert data_in == data_out

    a.shutdown()
    b.shutdown()
Esempio n. 45
0
def test_SendToServer(data_in):
    a = Comm()
    b = Comm()
    a.listen()
    b.connect(a.port)

    b.send(data_in)
    data_out = a.recv(timeout=0.5)
    assert data_in == data_out

    b.shutdown(); a.shutdown()
Esempio n. 46
0
def test_ShutdownSimple():
    a = Comm()

    a.shutdown()

    assert threading.active_count() <= 1
Esempio n. 47
0
def test_messageIDSimple(data_in):
    a = Comm()
    b = Comm()
    a.listen()
    b.connect(a.port)

    mid = b.send(data_in)

    assert b.is_acknowledged(mid) == False

    data_out = a.recv(timeout=0.5)
    b.recv(timeout=0.5)

    assert data_out == data_in
    assert b.is_acknowledged(mid) == True
Esempio n. 48
0
def test_SendToSingleClient(data_in):
    a = Comm()
    b = Comm()
    a.listen()
    b.connect(a.port)

    a.send(data_in)
    data_out = b.recv(timeout=0.5)
    assert data_in == data_out

    a.shutdown(); b.shutdown()
Esempio n. 49
0
def test_messageIDInterruption(data_in):
    a = Comm()
    b = Comm()
    a.listen()
    serv_port = a.port
    b.connect(serv_port)
    a.shutdown()

    mid = b.send(data_in)
    b.recv(timeout=0.5)

    assert b.is_acknowledged(mid) == False

    a.listen(serv_port)
    b.recv(timeout=0.5)

    assert b.is_acknowledged(mid) == False

    a.recv(timeout=0.5)
    b.recv(timeout=0.5)

    assert b.is_acknowledged(mid) == True
Esempio n. 50
0
def test_SendToAllClients(data_in):
    # Testing broadcast

    a = Comm()
    b = Comm()
    c = Comm()

    a.listen()
    b.connect(a.port)
    c.connect(a.port)

    a.send(data_in)
    data_out1, data_out2 = b.recv(timeout=0.5), c.recv(timeout=0.5)
    assert data_in == data_out1 == data_out2

    a.shutdown(); b.shutdown(); c.shutdown()
Esempio n. 51
0
def test_SendToServer(data_in):
    a = Comm()
    b = Comm()
    a.listen()
    b.connect(a.port)

    b.send(data_in)
    data_out = a.recv(timeout=0.5)
    assert data_in == data_out

    b.shutdown()
    a.shutdown()
Esempio n. 52
0
def test_SendToAllServers(data_in):
    # Testing multiple connection sending by a client
    a = Comm()
    b = Comm()
    c = Comm()
    a.listen()
    b.listen()
    c.connect(a.port)
    c.connect(b.port)

    c.send(data_in)
    data_out1, data_out2 = a.recv(timeout=0.5), b.recv(timeout=0.5)
    assert data_in == data_out1
    assert data_in == data_out2

    a.shutdown()
    b.shutdown()
    c.shutdown()
Esempio n. 53
0
def test_SendToAllClients(data_in):
    # Testing broadcast

    a = Comm()
    b = Comm()
    c = Comm()

    a.listen()
    b.connect(a.port)
    c.connect(a.port)

    a.send(data_in)
    data_out1, data_out2 = b.recv(timeout=0.5), c.recv(timeout=0.5)
    assert data_in == data_out1 == data_out2

    a.shutdown()
    b.shutdown()
    c.shutdown()
Esempio n. 54
0
def test_SendToAllServers(data_in):
    # Testing multiple connection sending by a client
    a = Comm()
    b = Comm()
    c = Comm()
    a.listen()
    b.listen()
    c.connect(a.port)
    c.connect(b.port)

    c.send(data_in)
    data_out1, data_out2 = a.recv(timeout=0.5), b.recv(timeout=0.5)
    assert data_in == data_out1
    assert data_in == data_out2

    a.shutdown(); b.shutdown(); c.shutdown()