diff --git a/Makefile b/Makefile index 6773e5a2..b0d6100c 100644 --- a/Makefile +++ b/Makefile @@ -80,7 +80,7 @@ validate-newsfragments: check-docs: build-docs validate-newsfragments build-docs: - sphinx-apidoc -o docs/ . setup.py "*conftest*" + sphinx-apidoc -o docs/ . setup.py "*conftest*" tests/ $(MAKE) -C docs clean $(MAKE) -C docs html $(MAKE) -C docs doctest diff --git a/docs/conf.py b/docs/conf.py index 8a9af857..9bd69c11 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -278,6 +278,9 @@ texinfo_documents = [ ), ] +# Prevent autodoc from trying to import module from tests.factories +autodoc_mock_imports = ["tests.factories"] + # Documents to append as an appendix to all manuals. # texinfo_appendices = [] diff --git a/docs/libp2p.tools.rst b/docs/libp2p.tools.rst index c0457fb8..3571309e 100644 --- a/docs/libp2p.tools.rst +++ b/docs/libp2p.tools.rst @@ -22,14 +22,6 @@ libp2p.tools.constants module :undoc-members: :show-inheritance: -libp2p.tools.factories module ------------------------------ - -.. automodule:: libp2p.tools.factories - :members: - :undoc-members: - :show-inheritance: - libp2p.tools.utils module ------------------------- diff --git a/libp2p/tools/pubsub/dummy_account_node.py b/libp2p/tools/pubsub/dummy_account_node.py index 17dab92d..c208d327 100644 --- a/libp2p/tools/pubsub/dummy_account_node.py +++ b/libp2p/tools/pubsub/dummy_account_node.py @@ -16,7 +16,7 @@ from libp2p.tools.async_service import ( Service, background_trio_service, ) -from libp2p.tools.factories import ( +from tests.factories import ( PubsubFactory, ) diff --git a/newsfragments/503.internal.rst b/newsfragments/503.internal.rst new file mode 100644 index 00000000..c991d16b --- /dev/null +++ b/newsfragments/503.internal.rst @@ -0,0 +1 @@ +moved ``libp2p/tools/factories`` to ``tests``. diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/conftest.py b/tests/conftest.py index 8b34953a..c1993b88 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,6 +1,6 @@ import pytest -from libp2p.tools.factories import ( +from tests.factories import ( HostFactory, ) diff --git a/tests/core/examples/test_examples.py b/tests/core/examples/test_examples.py index 6120572d..4dc526f6 100644 --- a/tests/core/examples/test_examples.py +++ b/tests/core/examples/test_examples.py @@ -7,12 +7,12 @@ from libp2p.host.exceptions import ( from libp2p.peer.peerinfo import ( info_from_p2p_addr, ) -from libp2p.tools.factories import ( - HostFactory, -) from libp2p.tools.utils import ( MAX_READ_LEN, ) +from tests.factories import ( + HostFactory, +) CHAT_PROTOCOL_ID = "/chat/1.0.0" ECHO_PROTOCOL_ID = "/echo/1.0.0" diff --git a/tests/core/host/test_connected_peers.py b/tests/core/host/test_connected_peers.py index a9663dde..990c7079 100644 --- a/tests/core/host/test_connected_peers.py +++ b/tests/core/host/test_connected_peers.py @@ -3,7 +3,7 @@ import pytest from libp2p.peer.peerinfo import ( info_from_p2p_addr, ) -from libp2p.tools.factories import ( +from tests.factories import ( HostFactory, ) diff --git a/tests/core/host/test_ping.py b/tests/core/host/test_ping.py index b181a96e..358ab9cf 100644 --- a/tests/core/host/test_ping.py +++ b/tests/core/host/test_ping.py @@ -8,7 +8,7 @@ from libp2p.host.ping import ( PING_LENGTH, PingService, ) -from libp2p.tools.factories import ( +from tests.factories import ( host_pair_factory, ) diff --git a/tests/core/host/test_routed_host.py b/tests/core/host/test_routed_host.py index d7ccde0d..e0f87bce 100644 --- a/tests/core/host/test_routed_host.py +++ b/tests/core/host/test_routed_host.py @@ -6,7 +6,7 @@ from libp2p.host.exceptions import ( from libp2p.peer.peerinfo import ( PeerInfo, ) -from libp2p.tools.factories import ( +from tests.factories import ( HostFactory, RoutedHostFactory, ) diff --git a/tests/core/identity/identify/test_protocol.py b/tests/core/identity/identify/test_protocol.py index 58592d70..a6f07320 100644 --- a/tests/core/identity/identify/test_protocol.py +++ b/tests/core/identity/identify/test_protocol.py @@ -7,7 +7,7 @@ from libp2p.identity.identify.protocol import ( ID, _mk_identify_protobuf, ) -from libp2p.tools.factories import ( +from tests.factories import ( host_pair_factory, ) diff --git a/tests/core/network/conftest.py b/tests/core/network/conftest.py index 42ea8730..dac403b1 100644 --- a/tests/core/network/conftest.py +++ b/tests/core/network/conftest.py @@ -1,6 +1,6 @@ import pytest -from libp2p.tools.factories import ( +from tests.factories import ( net_stream_pair_factory, swarm_conn_pair_factory, swarm_pair_factory, diff --git a/tests/core/network/test_notify.py b/tests/core/network/test_notify.py index f74f3aec..381b70f8 100644 --- a/tests/core/network/test_notify.py +++ b/tests/core/network/test_notify.py @@ -22,12 +22,12 @@ from libp2p.tools.async_service import ( from libp2p.tools.constants import ( LISTEN_MADDR, ) -from libp2p.tools.factories import ( - SwarmFactory, -) from libp2p.tools.utils import ( connect_swarm, ) +from tests.factories import ( + SwarmFactory, +) class Event(enum.Enum): diff --git a/tests/core/network/test_swarm.py b/tests/core/network/test_swarm.py index d3d6a7f8..c2e908a2 100644 --- a/tests/core/network/test_swarm.py +++ b/tests/core/network/test_swarm.py @@ -10,12 +10,12 @@ from trio.testing import ( from libp2p.network.exceptions import ( SwarmException, ) -from libp2p.tools.factories import ( - SwarmFactory, -) from libp2p.tools.utils import ( connect_swarm, ) +from tests.factories import ( + SwarmFactory, +) @pytest.mark.trio diff --git a/tests/core/protocol_muxer/test_protocol_muxer.py b/tests/core/protocol_muxer/test_protocol_muxer.py index 1700453d..1bea50a5 100644 --- a/tests/core/protocol_muxer/test_protocol_muxer.py +++ b/tests/core/protocol_muxer/test_protocol_muxer.py @@ -6,12 +6,12 @@ from trio.testing import ( from libp2p.host.exceptions import ( StreamFailure, ) -from libp2p.tools.factories import ( - HostFactory, -) from libp2p.tools.utils import ( create_echo_stream_handler, ) +from tests.factories import ( + HostFactory, +) PROTOCOL_ECHO = "/echo/1.0.0" PROTOCOL_POTATO = "/potato/1.0.0" diff --git a/tests/core/pubsub/test_floodsub.py b/tests/core/pubsub/test_floodsub.py index 2833def4..c056a62a 100644 --- a/tests/core/pubsub/test_floodsub.py +++ b/tests/core/pubsub/test_floodsub.py @@ -6,9 +6,6 @@ import trio from libp2p.peer.id import ( ID, ) -from libp2p.tools.factories import ( - PubsubFactory, -) from libp2p.tools.pubsub.floodsub_integration_test_settings import ( floodsub_protocol_pytest_params, perform_test_from_obj, @@ -16,6 +13,9 @@ from libp2p.tools.pubsub.floodsub_integration_test_settings import ( from libp2p.tools.utils import ( connect, ) +from tests.factories import ( + PubsubFactory, +) @pytest.mark.trio diff --git a/tests/core/pubsub/test_gossipsub.py b/tests/core/pubsub/test_gossipsub.py index 8dc1b575..fff2029a 100644 --- a/tests/core/pubsub/test_gossipsub.py +++ b/tests/core/pubsub/test_gossipsub.py @@ -6,10 +6,6 @@ import trio from libp2p.pubsub.gossipsub import ( PROTOCOL_ID, ) -from libp2p.tools.factories import ( - IDFactory, - PubsubFactory, -) from libp2p.tools.pubsub.utils import ( dense_connect, one_to_all_connect, @@ -17,6 +13,10 @@ from libp2p.tools.pubsub.utils import ( from libp2p.tools.utils import ( connect, ) +from tests.factories import ( + IDFactory, + PubsubFactory, +) @pytest.mark.trio diff --git a/tests/core/pubsub/test_gossipsub_backward_compatibility.py b/tests/core/pubsub/test_gossipsub_backward_compatibility.py index 09c40579..af115d17 100644 --- a/tests/core/pubsub/test_gossipsub_backward_compatibility.py +++ b/tests/core/pubsub/test_gossipsub_backward_compatibility.py @@ -5,13 +5,13 @@ import pytest from libp2p.tools.constants import ( FLOODSUB_PROTOCOL_ID, ) -from libp2p.tools.factories import ( - PubsubFactory, -) from libp2p.tools.pubsub.floodsub_integration_test_settings import ( floodsub_protocol_pytest_params, perform_test_from_obj, ) +from tests.factories import ( + PubsubFactory, +) @pytest.mark.parametrize("test_case_obj", floodsub_protocol_pytest_params) diff --git a/tests/core/pubsub/test_pubsub.py b/tests/core/pubsub/test_pubsub.py index af369d56..02fbe661 100644 --- a/tests/core/pubsub/test_pubsub.py +++ b/tests/core/pubsub/test_pubsub.py @@ -21,11 +21,6 @@ from libp2p.pubsub.pubsub import ( from libp2p.tools.constants import ( MAX_READ_LEN, ) -from libp2p.tools.factories import ( - IDFactory, - PubsubFactory, - net_stream_pair_factory, -) from libp2p.tools.pubsub.utils import ( make_pubsub_msg, ) @@ -35,6 +30,11 @@ from libp2p.tools.utils import ( from libp2p.utils import ( encode_varint_prefixed, ) +from tests.factories import ( + IDFactory, + PubsubFactory, + net_stream_pair_factory, +) TESTING_TOPIC = "TEST_SUBSCRIBE" TESTING_DATA = b"data" diff --git a/tests/core/security/noise/test_msg_read_writer.py b/tests/core/security/noise/test_msg_read_writer.py index a356f657..6d84fffc 100644 --- a/tests/core/security/noise/test_msg_read_writer.py +++ b/tests/core/security/noise/test_msg_read_writer.py @@ -4,7 +4,7 @@ from libp2p.security.noise.io import ( MAX_NOISE_MESSAGE_LEN, NoisePacketReadWriter, ) -from libp2p.tools.factories import ( +from tests.factories import ( raw_conn_factory, ) diff --git a/tests/core/security/noise/test_noise.py b/tests/core/security/noise/test_noise.py index ba15622b..94dde19b 100644 --- a/tests/core/security/noise/test_noise.py +++ b/tests/core/security/noise/test_noise.py @@ -3,7 +3,7 @@ import pytest from libp2p.security.noise.messages import ( NoiseHandshakePayload, ) -from libp2p.tools.factories import ( +from tests.factories import ( noise_conn_factory, noise_handshake_payload_factory, ) diff --git a/tests/core/security/test_secio.py b/tests/core/security/test_secio.py index e2fd75b4..f2df71a6 100644 --- a/tests/core/security/test_secio.py +++ b/tests/core/security/test_secio.py @@ -14,7 +14,7 @@ from libp2p.security.secio.transport import ( from libp2p.tools.constants import ( MAX_READ_LEN, ) -from libp2p.tools.factories import ( +from tests.factories import ( raw_conn_factory, ) diff --git a/tests/core/security/test_security_multistream.py b/tests/core/security/test_security_multistream.py index 38727f9b..62fb959f 100644 --- a/tests/core/security/test_security_multistream.py +++ b/tests/core/security/test_security_multistream.py @@ -12,7 +12,7 @@ from libp2p.security.secio.transport import ID as SECIO_PROTOCOL_ID from libp2p.security.secure_session import ( SecureSession, ) -from libp2p.tools.factories import ( +from tests.factories import ( host_pair_factory, ) diff --git a/tests/core/stream_muxer/conftest.py b/tests/core/stream_muxer/conftest.py index 8d9625e9..c0bcbc32 100644 --- a/tests/core/stream_muxer/conftest.py +++ b/tests/core/stream_muxer/conftest.py @@ -1,6 +1,6 @@ import pytest -from libp2p.tools.factories import ( +from tests.factories import ( mplex_conn_pair_factory, mplex_stream_pair_factory, ) diff --git a/tests/core/test_libp2p/test_libp2p.py b/tests/core/test_libp2p/test_libp2p.py index 0025f878..cd7a2156 100644 --- a/tests/core/test_libp2p/test_libp2p.py +++ b/tests/core/test_libp2p/test_libp2p.py @@ -10,13 +10,13 @@ from libp2p.network.stream.exceptions import ( from libp2p.tools.constants import ( MAX_READ_LEN, ) -from libp2p.tools.factories import ( - HostFactory, -) from libp2p.tools.utils import ( connect, create_echo_stream_handler, ) +from tests.factories import ( + HostFactory, +) PROTOCOL_ID_0 = TProtocol("/echo/0") PROTOCOL_ID_1 = TProtocol("/echo/1") diff --git a/libp2p/tools/factories.py b/tests/factories.py similarity index 99% rename from libp2p/tools/factories.py rename to tests/factories.py index 6744ddc3..08a5b67e 100644 --- a/libp2p/tools/factories.py +++ b/tests/factories.py @@ -102,7 +102,14 @@ from libp2p.tools.async_service import ( background_trio_service, ) from libp2p.tools.constants import ( + FLOODSUB_PROTOCOL_ID, GOSSIPSUB_PARAMS, + GOSSIPSUB_PROTOCOL_ID, + LISTEN_MADDR, +) +from libp2p.tools.utils import ( + connect, + connect_swarm, ) from libp2p.transport.tcp.tcp import ( TCP, @@ -111,16 +118,6 @@ from libp2p.transport.upgrader import ( TransportUpgrader, ) -from .constants import ( - FLOODSUB_PROTOCOL_ID, - GOSSIPSUB_PROTOCOL_ID, - LISTEN_MADDR, -) -from .utils import ( - connect, - connect_swarm, -) - DEFAULT_SECURITY_PROTOCOL_ID = PLAINTEXT_PROTOCOL_ID diff --git a/tests/interop/conftest.py b/tests/interop/conftest.py index 372135aa..728dddda 100644 --- a/tests/interop/conftest.py +++ b/tests/interop/conftest.py @@ -17,7 +17,7 @@ from libp2p.io.abc import ( ) from libp2p.security.noise.transport import PROTOCOL_ID as NOISE_PROTOCOL_ID from libp2p.security.secio.transport import ID as SECIO_PROTOCOL_ID -from libp2p.tools.factories import ( +from tests.factories import ( HostFactory, PubsubFactory, ) diff --git a/tests/interop/test_bindings.py b/tests/interop/test_bindings.py index 759cf5de..f38fad5c 100644 --- a/tests/interop/test_bindings.py +++ b/tests/interop/test_bindings.py @@ -1,7 +1,7 @@ import pytest import trio -from libp2p.tools.factories import ( +from tests.factories import ( HostFactory, ) from tests.utils.interop.utils import ( diff --git a/tests/interop/test_pubsub.py b/tests/interop/test_pubsub.py index 2b70b815..485d48f4 100644 --- a/tests/interop/test_pubsub.py +++ b/tests/interop/test_pubsub.py @@ -19,12 +19,12 @@ from libp2p.pubsub.pb import ( from libp2p.pubsub.subscription import ( TrioSubscriptionAPI, ) -from libp2p.tools.factories import ( - PubsubFactory, -) from libp2p.utils import ( read_varint_prefixed_bytes, ) +from tests.factories import ( + PubsubFactory, +) from tests.utils.interop.utils import ( connect, )