2019-04-29 05:57:57 +08:00
|
|
|
import pytest
|
2019-08-03 13:36:19 +08:00
|
|
|
|
2019-04-29 05:57:57 +08:00
|
|
|
from libp2p.kademlia.network import KademliaServer
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
|
|
async def test_example():
|
|
|
|
node_a = KademliaServer()
|
|
|
|
await node_a.listen(5801)
|
|
|
|
|
|
|
|
node_b = KademliaServer()
|
|
|
|
await node_b.listen(5802)
|
|
|
|
await node_b.bootstrap([("127.0.0.1", 5801)])
|
|
|
|
|
|
|
|
key = "hello"
|
|
|
|
value = "world"
|
|
|
|
await node_b.set(key, value)
|
|
|
|
await node_b.provide("hello")
|
|
|
|
|
|
|
|
providers = await node_b.get_providers("hello")
|
|
|
|
|
|
|
|
# bmuller's handle_call_response wraps
|
|
|
|
# every rpc call result in a list of tuples
|
|
|
|
# [(True, [b'\xf9\xa1\xf5\x10a\xe5\xe0F'])]
|
|
|
|
first_tuple = providers[0]
|
|
|
|
# (True, [b'\xf9\xa1\xf5\x10a\xe5\xe0F'])
|
|
|
|
first_providers = first_tuple[1]
|
|
|
|
# [b'\xf9\xa1\xf5\x10a\xe5\xe0F']
|
|
|
|
first_provider = first_providers[0]
|
2019-07-31 23:50:53 +08:00
|
|
|
assert node_b.node.peer_id_bytes == first_provider
|