import asyncio import pytest from libp2p.transport.tcp.tcp import _multiaddr_from_socket @pytest.mark.asyncio async def test_multiaddr_from_socket(): def handler(r, w): pass server = await asyncio.start_server(handler, '127.0.0.1', 8000) assert str(_multiaddr_from_socket(server.sockets[0])) == '/ip4/127.0.0.1/tcp/8000' server = await asyncio.start_server(handler, '127.0.0.1', 0) addr = _multiaddr_from_socket(server.sockets[0]) assert addr.value_for_protocol('ip4') == '127.0.0.1' port = addr.value_for_protocol('tcp') assert int(port) > 0