2019-09-17 23:38:11 +08:00
|
|
|
import asyncio
|
|
|
|
|
|
|
|
import pytest
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
|
|
async def test_swarm_conn_close(swarm_conn_pair):
|
|
|
|
conn_0, conn_1 = swarm_conn_pair
|
|
|
|
|
|
|
|
assert not conn_0.event_closed.is_set()
|
|
|
|
assert not conn_1.event_closed.is_set()
|
|
|
|
|
|
|
|
await conn_0.close()
|
|
|
|
|
|
|
|
await asyncio.sleep(0.01)
|
|
|
|
|
|
|
|
assert conn_0.event_closed.is_set()
|
|
|
|
assert conn_1.event_closed.is_set()
|
|
|
|
assert conn_0 not in conn_0.swarm.connections.values()
|
|
|
|
assert conn_1 not in conn_1.swarm.connections.values()
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
|
|
async def test_swarm_conn_streams(swarm_conn_pair):
|
|
|
|
conn_0, conn_1 = swarm_conn_pair
|
|
|
|
|
|
|
|
assert len(await conn_0.get_streams()) == 0
|
|
|
|
assert len(await conn_1.get_streams()) == 0
|
|
|
|
|
|
|
|
stream_0_0 = await conn_0.new_stream()
|
|
|
|
await asyncio.sleep(0.01)
|
|
|
|
assert len(await conn_0.get_streams()) == 1
|
|
|
|
assert len(await conn_1.get_streams()) == 1
|
|
|
|
|
|
|
|
stream_0_1 = await conn_0.new_stream()
|
|
|
|
await asyncio.sleep(0.01)
|
|
|
|
assert len(await conn_0.get_streams()) == 2
|
|
|
|
assert len(await conn_1.get_streams()) == 2
|
|
|
|
|
|
|
|
conn_0.remove_stream(stream_0_0)
|
|
|
|
assert len(await conn_0.get_streams()) == 1
|
|
|
|
conn_0.remove_stream(stream_0_1)
|
|
|
|
assert len(await conn_0.get_streams()) == 0
|
2019-09-18 15:44:45 +08:00
|
|
|
# Nothing happen if `stream_0_1` is not present or already removed.
|
|
|
|
conn_0.remove_stream(stream_0_1)
|