From 29aae7dca442b157268ee803daa3453cbfb9a294 Mon Sep 17 00:00:00 2001 From: NIC619 Date: Fri, 19 Jul 2019 20:16:53 +0800 Subject: [PATCH] Add gossipsub join/leave test --- tests/pubsub/test_gossipsub.py | 48 ++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/tests/pubsub/test_gossipsub.py b/tests/pubsub/test_gossipsub.py index 0c94faee..1f9b8599 100644 --- a/tests/pubsub/test_gossipsub.py +++ b/tests/pubsub/test_gossipsub.py @@ -14,6 +14,54 @@ from tests.utils import cleanup SUPPORTED_PROTOCOLS = ["/gossipsub/1.0.0"] +@pytest.mark.asyncio +async def test_join(): + num_hosts = 1 + libp2p_hosts = await create_libp2p_hosts(num_hosts) + + # Create pubsub, gossipsub instances + _, gossipsubs = create_pubsub_and_gossipsub_instances(libp2p_hosts, \ + SUPPORTED_PROTOCOLS, \ + 10, 9, 11, 30, 3, 5, 0.5) + + gossipsub = gossipsubs[0] + topic = "test_join" + + assert topic not in gossipsub.mesh + await gossipsub.join(topic) + assert topic in gossipsub.mesh + + # Test re-join + await gossipsub.join(topic) + + await cleanup() + + +@pytest.mark.asyncio +async def test_leave(): + num_hosts = 1 + libp2p_hosts = await create_libp2p_hosts(num_hosts) + + # Create pubsub, gossipsub instances + _, gossipsubs = create_pubsub_and_gossipsub_instances(libp2p_hosts, \ + SUPPORTED_PROTOCOLS, \ + 10, 9, 11, 30, 3, 5, 0.5) + + gossipsub = gossipsubs[0] + topic = "test_leave" + + await gossipsub.join(topic) + assert topic in gossipsub.mesh + + await gossipsub.leave(topic) + assert topic not in gossipsub.mesh + + # Test re-leave + await gossipsub.leave(topic) + + await cleanup() + + @pytest.mark.asyncio async def test_dense(): # Create libp2p hosts