Пример #1
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.log_files = []
        cls.multiplexers = []

        try:
            cls.connection1 = _make_libp2p_connection(DEFAULT_PORT + 1)
            cls.multiplexer1 = Multiplexer([cls.connection1])
            cls.log_files.append(cls.connection1.node.log_file)
            cls.multiplexer1.connect()
            cls.multiplexers.append(cls.multiplexer1)

            genesis_peer = cls.connection1.node.multiaddrs[0]

            cls.connection2 = _make_libp2p_connection(
                port=DEFAULT_PORT + 2, entry_peers=[genesis_peer])
            cls.multiplexer2 = Multiplexer([cls.connection2])
            cls.log_files.append(cls.connection2.node.log_file)
            cls.multiplexer2.connect()
            cls.multiplexers.append(cls.multiplexer2)
        except Exception as e:
            cls.teardown_class()
            raise e
Пример #2
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.log_files = []

        port_genesis = DEFAULT_PORT + 10
        cls.connection_genesis = _make_libp2p_connection(port_genesis)
        cls.multiplexer_genesis = Multiplexer([cls.connection_genesis])
        cls.log_files.append(cls.connection_genesis.node.log_file)
        cls.multiplexer_genesis.connect()

        genesis_peer = cls.connection_genesis.node.multiaddrs[0]

        cls.connections = [cls.connection_genesis]
        cls.multiplexers = [cls.multiplexer_genesis]

        port = port_genesis
        for _ in range(DEFAULT_NET_SIZE):
            port += 1
            conn = _make_libp2p_connection(port=port,
                                           entry_peers=[genesis_peer])
            muxer = Multiplexer([conn])

            cls.connections.append(conn)
            cls.multiplexers.append(muxer)

            cls.log_files.append(conn.node.log_file)
            muxer.connect()
Пример #3
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.log_files = []

        cls.relay = _make_libp2p_connection(DEFAULT_PORT + 1)
        cls.multiplexer = Multiplexer([cls.relay])
        cls.log_files.append(cls.relay.node.log_file)
        cls.multiplexer.connect()

        relay_peer = cls.relay.node.multiaddrs[0]

        cls.connection1 = _make_libp2p_connection(DEFAULT_PORT + 2,
                                                  relay=False,
                                                  entry_peers=[relay_peer])
        cls.multiplexer1 = Multiplexer([cls.connection1])
        cls.log_files.append(cls.connection1.node.log_file)
        cls.multiplexer1.connect()

        cls.connection2 = _make_libp2p_connection(port=DEFAULT_PORT + 3,
                                                  entry_peers=[relay_peer])
        cls.multiplexer2 = Multiplexer([cls.connection2])
        cls.log_files.append(cls.connection2.node.log_file)
        cls.multiplexer2.connect()
Пример #4
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.log_files = []
        cls.multiplexers = []

        try:
            port_relay_1 = DEFAULT_PORT + 10
            cls.connection_relay_1 = _make_libp2p_connection(port_relay_1)
            cls.multiplexer_relay_1 = Multiplexer([cls.connection_relay_1])
            cls.log_files.append(cls.connection_relay_1.node.log_file)
            cls.multiplexer_relay_1.connect()
            cls.multiplexers.append(cls.multiplexer_relay_1)

            relay_peer_1 = cls.connection_relay_1.node.multiaddrs[0]

            port_relay_2 = DEFAULT_PORT + 100
            cls.connection_relay_2 = _make_libp2p_connection(
                port=port_relay_2, entry_peers=[relay_peer_1])
            cls.multiplexer_relay_2 = Multiplexer([cls.connection_relay_2])
            cls.log_files.append(cls.connection_relay_2.node.log_file)
            cls.multiplexer_relay_2.connect()
            cls.multiplexers.append(cls.multiplexer_relay_2)

            relay_peer_2 = cls.connection_relay_2.node.multiaddrs[0]

            cls.connections = [cls.connection_relay_1, cls.connection_relay_2]

            port = port_relay_1
            for _ in range(int(DEFAULT_NET_SIZE / 2) + 1):
                port += 1
                conn = _make_libp2p_connection(port=port,
                                               relay=False,
                                               entry_peers=[relay_peer_1])
                mux = Multiplexer([conn])
                cls.connections.append(conn)
                cls.log_files.append(conn.node.log_file)
                mux.connect()
                cls.multiplexers.append(mux)

            port = port_relay_2
            for _ in range(int(DEFAULT_NET_SIZE / 2) + 1):
                port += 1
                conn = _make_libp2p_connection(port=port,
                                               relay=False,
                                               entry_peers=[relay_peer_2])
                mux = Multiplexer([conn])
                cls.connections.append(conn)
                cls.log_files.append(conn.node.log_file)
                mux.connect()
                cls.multiplexers.append(mux)
        except Exception as e:
            cls.teardown_class()
            raise e
Пример #5
0
    def test_communication_direct(self):
        """Test communication direct."""
        for maddr in PUBLIC_DHT_MADDRS:
            multiplexers = []
            try:
                connection1 = _make_libp2p_connection(DEFAULT_PORT + 1,
                                                      relay=False,
                                                      entry_peers=[maddr])
                multiplexer1 = Multiplexer([connection1])
                self.log_files.append(connection1.node.log_file)
                multiplexer1.connect()
                multiplexers.append(multiplexer1)

                connection2 = _make_libp2p_connection(DEFAULT_PORT + 2,
                                                      relay=False,
                                                      entry_peers=[maddr])
                multiplexer2 = Multiplexer([connection2])
                self.log_files.append(connection2.node.log_file)
                multiplexer2.connect()
                multiplexers.append(multiplexer2)

                addr_1 = connection1.node.address
                addr_2 = connection2.node.address

                msg = DefaultMessage(
                    dialogue_reference=("", ""),
                    message_id=1,
                    target=0,
                    performative=DefaultMessage.Performative.BYTES,
                    content=b"hello",
                )
                envelope = Envelope(
                    to=addr_2,
                    sender=addr_1,
                    protocol_id=DefaultMessage.protocol_id,
                    message=msg,
                )

                multiplexer1.put(envelope)
                delivered_envelope = multiplexer2.get(block=True, timeout=20)

                assert delivered_envelope is not None
                assert delivered_envelope.to == envelope.to
                assert delivered_envelope.sender == envelope.sender
                assert delivered_envelope.protocol_id == envelope.protocol_id
                assert delivered_envelope.message != envelope.message
                msg = DefaultMessage.serializer.decode(
                    delivered_envelope.message)
                msg.to = delivered_envelope.to
                msg.sender = delivered_envelope.sender
                assert envelope.message == msg
            except Exception:
                raise
            finally:
                for mux in multiplexers:
                    mux.disconnect()
Пример #6
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.log_files = []
        cls.multiplexers = []

        try:
            cls.connection_node_1 = _make_libp2p_connection(
                port=DEFAULT_PORT + 1,
                delegate_port=DEFAULT_DELEGATE_PORT + 1,
                delegate=True,
            )
            cls.multiplexer_node_1 = Multiplexer([cls.connection_node_1])
            cls.log_files.append(cls.connection_node_1.node.log_file)
            cls.multiplexer_node_1.connect()
            cls.multiplexers.append(cls.multiplexer_node_1)

            entry_peer = cls.connection_node_1.node.multiaddrs[0]

            cls.connection_node_2 = _make_libp2p_connection(
                port=DEFAULT_PORT + 2,
                delegate_port=DEFAULT_DELEGATE_PORT + 2,
                entry_peers=[entry_peer],
                delegate=True,
            )
            cls.multiplexer_node_2 = Multiplexer([cls.connection_node_2])
            cls.log_files.append(cls.connection_node_2.node.log_file)
            cls.multiplexer_node_2.connect()
            cls.multiplexers.append(cls.multiplexer_node_2)

            cls.connections = [cls.connection_node_1, cls.connection_node_2]
            cls.addresses = [
                cls.connection_node_1.address,
                cls.connection_node_2.address,
            ]

            for _ in range(DEFAULT_CLIENTS_PER_NODE):
                for port in [DEFAULT_DELEGATE_PORT + 1, DEFAULT_DELEGATE_PORT + 2]:
                    conn = _make_libp2p_client_connection(port)
                    mux = Multiplexer([conn])

                    cls.connections.append(conn)
                    cls.addresses.append(conn.address)

                    mux.connect()
                    cls.multiplexers.append(mux)
        except Exception:
            cls.teardown_class()
            raise
Пример #7
0
    def setup(self):
        """Set the test up"""
        super().setup()
        temp_dir_gen = os.path.join(self.t, "temp_dir_gen")
        os.mkdir(temp_dir_gen)
        self.genesis = _make_libp2p_connection(data_dir=temp_dir_gen,
                                               port=DEFAULT_PORT + 1,
                                               build_directory=self.t)

        self.multiplexer_genesis = Multiplexer([self.genesis],
                                               protocols=[DefaultMessage])
        self.multiplexer_genesis.connect()
        self.log_files.append(self.genesis.node.log_file)
        self.multiplexers.append(self.multiplexer_genesis)

        genesis_peer = self.genesis.node.multiaddrs[0]

        with open("node_key", "wb") as f:
            make_crypto(DEFAULT_LEDGER).dump(f)
            self.relay_key_path = "node_key"

        temp_dir_rel = os.path.join(self.t, "temp_dir_rel")
        os.mkdir(temp_dir_rel)
        self.relay = _make_libp2p_connection(
            data_dir=temp_dir_rel,
            port=DEFAULT_PORT + 2,
            entry_peers=[genesis_peer],
            node_key_file=self.relay_key_path,
            build_directory=self.t,
        )
        self.multiplexer_relay = Multiplexer([self.relay],
                                             protocols=[DefaultMessage])
        self.multiplexer_relay.connect()
        self.log_files.append(self.relay.node.log_file)
        self.multiplexers.append(self.multiplexer_relay)

        relay_peer = self.relay.node.multiaddrs[0]

        temp_dir_1 = os.path.join(self.t, "temp_dir_1")
        os.mkdir(temp_dir_1)
        self.connection = _make_libp2p_connection(
            data_dir=temp_dir_1,
            port=DEFAULT_PORT + 3,
            relay=False,
            entry_peers=[relay_peer],
            build_directory=self.t,
        )
        self.multiplexer = Multiplexer([self.connection],
                                       protocols=[DefaultMessage])
        self.multiplexer.connect()
        self.log_files.append(self.connection.node.log_file)
        self.multiplexers.append(self.multiplexer)
Пример #8
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.log_files = []
        cls.mutliplexers = []

        cls.connection_node_1 = _make_libp2p_connection(
            port=DEFAULT_PORT + 1,
            delegate_port=DEFAULT_DELEGATE_PORT + 1,
            delegate=True,
        )
        cls.multiplexer_node_1 = Multiplexer([cls.connection_node_1])
        cls.log_files.append(cls.connection_node_1.node.log_file)
        cls.multiplexer_node_1.connect()
        cls.mutliplexers.append(cls.multiplexer_node_1)

        genesis_peer = cls.connection_node_1.node.multiaddrs[0]

        try:
            cls.connection_node_2 = _make_libp2p_connection(
                port=DEFAULT_PORT + 2,
                delegate_port=DEFAULT_DELEGATE_PORT + 2,
                entry_peers=[genesis_peer],
                delegate=True,
            )
            cls.multiplexer_node_2 = Multiplexer([cls.connection_node_2])
            cls.log_files.append(cls.connection_node_2.node.log_file)
            cls.multiplexer_node_2.connect()
            cls.mutliplexers.append(cls.multiplexer_node_2)

            cls.connection_client_1 = _make_libp2p_client_connection(
                DEFAULT_DELEGATE_PORT + 1
            )
            cls.multiplexer_client_1 = Multiplexer([cls.connection_client_1])
            cls.multiplexer_client_1.connect()
            cls.mutliplexers.append(cls.multiplexer_client_1)

            cls.connection_client_2 = _make_libp2p_client_connection(
                DEFAULT_DELEGATE_PORT + 2
            )
            cls.multiplexer_client_2 = Multiplexer([cls.connection_client_2])
            cls.multiplexer_client_2.connect()
            cls.mutliplexers.append(cls.multiplexer_client_2)
        except Exception:
            cls.teardown_class()
            raise
Пример #9
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.log_files = []
        cls.multiplexers = []

        try:
            temp_dir_rel = os.path.join(cls.t, "temp_dir_rel")
            os.mkdir(temp_dir_rel)
            cls.relay = _make_libp2p_connection(data_dir=temp_dir_rel,
                                                port=DEFAULT_PORT + 1)
            cls.multiplexer = Multiplexer([cls.relay])
            cls.log_files.append(cls.relay.node.log_file)
            cls.multiplexer.connect()
            cls.multiplexers.append(cls.multiplexer)

            relay_peer = cls.relay.node.multiaddrs[0]

            temp_dir_1 = os.path.join(cls.t, "temp_dir_1")
            os.mkdir(temp_dir_1)
            cls.connection1 = _make_libp2p_connection(
                data_dir=temp_dir_1,
                port=DEFAULT_PORT + 2,
                relay=False,
                entry_peers=[relay_peer],
            )
            cls.multiplexer1 = Multiplexer(
                [cls.connection1], protocols=[MockDefaultMessageProtocol])
            cls.log_files.append(cls.connection1.node.log_file)
            cls.multiplexer1.connect()
            cls.multiplexers.append(cls.multiplexer1)

            temp_dir_2 = os.path.join(cls.t, "temp_dir_2")
            os.mkdir(temp_dir_2)
            cls.connection2 = _make_libp2p_connection(data_dir=temp_dir_2,
                                                      port=DEFAULT_PORT + 3,
                                                      entry_peers=[relay_peer])
            cls.multiplexer2 = Multiplexer(
                [cls.connection2], protocols=[MockDefaultMessageProtocol])
            cls.log_files.append(cls.connection2.node.log_file)
            cls.multiplexer2.connect()
            cls.multiplexers.append(cls.multiplexer2)
        except Exception as e:
            cls.teardown_class()
            raise e
Пример #10
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.log_files = []
        cls.multiplexers = []

        temp_node_dir = os.path.join(cls.t, "node_dir")
        os.mkdir(temp_node_dir)
        try:
            cls.connection_node = _make_libp2p_connection(
                data_dir=temp_node_dir, delegate=True
            )
            cls.multiplexer_node = Multiplexer([cls.connection_node])
            cls.log_files.append(cls.connection_node.node.log_file)
            cls.multiplexer_node.connect()
            cls.multiplexers.append(cls.multiplexer_node)

            temp_client_dir = os.path.join(cls.t, "client_dir")
            os.mkdir(temp_client_dir)
            cls.connection_client = _make_libp2p_client_connection(
                data_dir=temp_client_dir, peer_public_key=cls.connection_node.node.pub
            )
            cls.multiplexer_client = Multiplexer([cls.connection_client])
            cls.multiplexer_client.connect()
            cls.multiplexers.append(cls.multiplexer_client)
        except Exception:
            cls.teardown_class()
            raise
Пример #11
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.connection = _make_libp2p_connection()
Пример #12
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.connection_node = _make_libp2p_connection(delegate=True)
        cls.connection = _make_libp2p_client_connection()
Пример #13
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.log_files = []
        cls.multiplexers = []

        try:
            cls.genesis = _make_libp2p_connection(DEFAULT_PORT + 1)

            cls.multiplexer_genesis = Multiplexer([cls.genesis])
            cls.log_files.append(cls.genesis.node.log_file)
            cls.multiplexer_genesis.connect()
            cls.multiplexers.append(cls.multiplexer_genesis)

            genesis_peer = cls.genesis.node.multiaddrs[0]

            with open("node_key", "wb") as f:
                make_crypto(DEFAULT_LEDGER).dump(f)
                cls.relay_key_path = "node_key"

            cls.relay = _make_libp2p_connection(
                port=DEFAULT_PORT + 2,
                entry_peers=[genesis_peer],
                node_key_file=cls.relay_key_path,
            )
            cls.multiplexer_relay = Multiplexer([cls.relay])
            cls.log_files.append(cls.relay.node.log_file)
            cls.multiplexer_relay.connect()
            cls.multiplexers.append(cls.multiplexer_relay)

            relay_peer = cls.relay.node.multiaddrs[0]

            cls.connection = _make_libp2p_connection(DEFAULT_PORT + 3,
                                                     relay=False,
                                                     entry_peers=[relay_peer])
            cls.multiplexer = Multiplexer([cls.connection])
            cls.log_files.append(cls.connection.node.log_file)
            cls.multiplexer.connect()
            cls.multiplexers.append(cls.multiplexer)
        except Exception as e:
            cls.teardown_class()
            raise e
Пример #14
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.log_files = []
        cls.multiplexers = []

        try:
            port_genesis = DEFAULT_PORT + 10
            temp_dir_gen = os.path.join(cls.t, "temp_dir_gen")
            os.mkdir(temp_dir_gen)
            cls.connection_genesis = _make_libp2p_connection(
                data_dir=temp_dir_gen, port=port_genesis)
            cls.multiplexer_genesis = Multiplexer(
                [cls.connection_genesis],
                protocols=[MockDefaultMessageProtocol])
            cls.log_files.append(cls.connection_genesis.node.log_file)
            cls.multiplexer_genesis.connect()
            cls.multiplexers.append(cls.multiplexer_genesis)

            genesis_peer = cls.connection_genesis.node.multiaddrs[0]

            cls.connections = [cls.connection_genesis]

            port = port_genesis
            for i in range(DEFAULT_NET_SIZE):
                port += 1
                temp_dir = os.path.join(cls.t, f"temp_dir_{i}")
                os.mkdir(temp_dir)
                conn = _make_libp2p_connection(data_dir=temp_dir,
                                               port=port,
                                               entry_peers=[genesis_peer])
                mux = Multiplexer([conn],
                                  protocols=[MockDefaultMessageProtocol])

                cls.connections.append(conn)

                cls.log_files.append(conn.node.log_file)
                mux.connect()
                cls.multiplexers.append(mux)
        except Exception as e:
            cls.teardown_class()
            raise e
Пример #15
0
def test_libp2pconnection_node_config_registration_delay():
    """Test node registration delay configuration"""
    host = "localhost"
    port = "10000"

    with tempfile.TemporaryDirectory() as data_dir:
        _make_libp2p_connection(
            port=port, host=host, data_dir=data_dir, build_directory=data_dir
        )
    with tempfile.TemporaryDirectory() as data_dir:
        with pytest.raises(ValueError):
            _make_libp2p_connection(
                port=port,
                host=host,
                data_dir=data_dir,
                peer_registration_delay="must_be_float",
                build_directory=data_dir,
            )
Пример #16
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        temp_dir = os.path.join(cls.t, "temp_dir")
        os.mkdir(temp_dir)
        cls.connection = _make_libp2p_connection(data_dir=temp_dir)
Пример #17
0
    def setup(self):
        """Set the test up"""
        super().setup()
        temp_dir_gen = os.path.join(self.t, "temp_dir_gen")
        os.mkdir(temp_dir_gen)
        self.genesis = _make_libp2p_connection(data_dir=temp_dir_gen,
                                               port=DEFAULT_PORT)

        self.multiplexer_genesis = Multiplexer([self.genesis],
                                               protocols=[DefaultMessage])
        self.log_files.append(self.genesis.node.log_file)
        self.multiplexer_genesis.connect()
        self.multiplexers.append(self.multiplexer_genesis)

        genesis_peer = self.genesis.node.multiaddrs[0]

        temp_dir_1 = os.path.join(self.t, "temp_dir_1")
        os.mkdir(temp_dir_1)
        self.connection1 = _make_libp2p_connection(data_dir=temp_dir_1,
                                                   port=DEFAULT_PORT + 1,
                                                   entry_peers=[genesis_peer])
        self.multiplexer1 = Multiplexer([self.connection1],
                                        protocols=[DefaultMessage])
        self.log_files.append(self.connection1.node.log_file)
        self.multiplexer1.connect()
        self.multiplexers.append(self.multiplexer1)

        self.connection_key = make_crypto(DEFAULT_LEDGER)
        temp_dir_2 = os.path.join(self.t, "temp_dir_2")
        os.mkdir(temp_dir_2)
        self.connection2 = _make_libp2p_connection(
            data_dir=temp_dir_2,
            port=DEFAULT_PORT + 2,
            entry_peers=[genesis_peer],
            agent_key=self.connection_key,
        )
        self.multiplexer2 = Multiplexer([self.connection2],
                                        protocols=[DefaultMessage])
        self.log_files.append(self.connection2.node.log_file)
        self.multiplexer2.connect()
        self.multiplexers.append(self.multiplexer2)
Пример #18
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.log_files = []
        cls.multiplexers = []

        try:
            temp_dir_1 = os.path.join(cls.t, "temp_dir_1")
            os.mkdir(temp_dir_1)
            cls.connection1 = _make_libp2p_connection(
                data_dir=temp_dir_1,
                agent_key=FetchAICrypto(),
                port=DEFAULT_PORT + 1)
            cls.multiplexer1 = Multiplexer(
                [cls.connection1], protocols=[MockDefaultMessageProtocol])
            cls.log_files.append(cls.connection1.node.log_file)
            cls.multiplexer1.connect()
            cls.multiplexers.append(cls.multiplexer1)

            genesis_peer = cls.connection1.node.multiaddrs[0]

            temp_dir_2 = os.path.join(cls.t, "temp_dir_2")
            os.mkdir(temp_dir_2)
            cls.connection2 = _make_libp2p_connection(
                data_dir=temp_dir_2,
                port=DEFAULT_PORT + 2,
                entry_peers=[genesis_peer],
                agent_key=EthereumCrypto(),
            )
            cls.multiplexer2 = Multiplexer(
                [cls.connection2], protocols=[MockDefaultMessageProtocol])
            cls.log_files.append(cls.connection2.node.log_file)
            cls.multiplexer2.connect()
            cls.multiplexers.append(cls.multiplexer2)
        except Exception as e:
            cls.teardown_class()
            raise e
Пример #19
0
    def setup_class(cls):
        """Set up the test class."""
        super(TestP2PLibp2pClientConnectionAEARunning, cls).setup_class()

        cls.node_connection = _make_libp2p_connection(
            delegate_host=DEFAULT_HOST,
            delegate_port=DEFAULT_DELEGATE_PORT,
            delegate=True,
        )
        cls.node_multiplexer = Multiplexer([cls.node_connection])
        cls.log_files = [cls.node_connection.node.log_file]

        cls.node_multiplexer.connect()
Пример #20
0
    def setup_class(cls):
        """Set up the test class."""
        AEATestCaseEmpty.setup_class()

        cls.node_connection = _make_libp2p_connection(
            delegate_host=DEFAULT_HOST,
            delegate_port=DEFAULT_DELEGATE_PORT,
            delegate=True,
        )
        cls.node_multiplexer = Multiplexer([cls.node_connection])
        cls.log_files = [cls.node_connection.node.log_file]

        cls.node_multiplexer.connect()
Пример #21
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        temp_dir = os.path.join(cls.t, "temp_dir_node")
        os.mkdir(temp_dir)
        cls.connection_node = _make_libp2p_connection(data_dir=temp_dir,
                                                      delegate=True)
        temp_dir_client = os.path.join(cls.t, "temp_dir_client")
        os.mkdir(temp_dir_client)
        cls.connection = _make_libp2p_client_connection(
            data_dir=temp_dir_client,
            peer_public_key=cls.connection_node.node.pub)
Пример #22
0
    def test_connectivity(self):
        for maddr in PUBLIC_DHT_MADDRS:
            connection = _make_libp2p_connection(DEFAULT_PORT + 1,
                                                 relay=False,
                                                 entry_peers=[maddr])
            multiplexer = Multiplexer([connection])
            self.log_files.append(connection.node.log_file)
            multiplexer.connect()

            try:
                assert (connection.is_connected is True
                        ), "Couldn't connect to public node {}".format(maddr)
            except Exception:
                raise
            finally:
                multiplexer.disconnect()
Пример #23
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.log_files = []

        cls.connection_node = _make_libp2p_connection(delegate=True)
        cls.multiplexer_node = Multiplexer([cls.connection_node])
        cls.log_files.append(cls.connection_node.node.log_file)
        cls.multiplexer_node.connect()

        cls.connection_client = _make_libp2p_client_connection()
        cls.multiplexer_client = Multiplexer([cls.connection_client])
        cls.multiplexer_client.connect()
Пример #24
0
    def setup_class(cls):
        """Set up the test class."""
        super(TestP2PLibp2pClientConnectionAEARunning, cls).setup_class()

        temp_dir = os.path.join(cls.t, "temp_dir_node")
        os.mkdir(temp_dir)
        cls.node_connection = _make_libp2p_connection(
            data_dir=temp_dir,
            delegate_host=DEFAULT_HOST,
            delegate_port=DEFAULT_DELEGATE_PORT,
            delegate=True,
        )
        cls.node_multiplexer = Multiplexer([cls.node_connection])
        cls.log_files = [cls.node_connection.node.log_file]

        cls.node_multiplexer.connect()
Пример #25
0
    async def test_p2plibp2pconnection_connect_disconnect_default(self):
        """Test connect then disconnect."""
        temp_dir = os.path.join(self.t, "temp_dir")
        os.mkdir(temp_dir)
        connection = _make_libp2p_connection(data_dir=temp_dir)

        assert connection.is_connected is False
        try:
            await connection.connect()
            assert connection.is_connected is True
        except Exception as e:
            await connection.disconnect()
            raise e

        await connection.disconnect()
        assert connection.is_connected is False
Пример #26
0
def test_build_dir_not_set():
    """Test build dir not set."""
    host = "localhost"
    port = "10000"
    with tempfile.TemporaryDirectory() as data_dir:
        con = _make_libp2p_connection(
            port=port, host=host, data_dir=data_dir, build_directory=data_dir
        )
        con.configuration.build_directory = None
        with pytest.raises(
            ValueError, match="Connection Configuration build directory is not set!"
        ):
            P2PLibp2pConnection(
                configuration=con.configuration,
                data_dir=data_dir,
                identity=con._identity,
                crypto_store=con.crypto_store,
            )
Пример #27
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.log_files = []
        temp_dir = os.path.join(cls.t, "temp_dir_node")
        os.mkdir(temp_dir)
        cls.connection_node = _make_libp2p_connection(data_dir=temp_dir,
                                                      port=DEFAULT_PORT + 1,
                                                      delegate=True)
        cls.multiplexer_node = Multiplexer(
            [cls.connection_node], protocols=[MockDefaultMessageProtocol])
        cls.log_files.append(cls.connection_node.node.log_file)
        cls.multiplexer_node.connect()

        try:
            temp_dir_client_1 = os.path.join(cls.t, "temp_dir_client_1")
            os.mkdir(temp_dir_client_1)
            cls.connection_client_1 = _make_libp2p_client_connection(
                data_dir=temp_dir_client_1,
                peer_public_key=cls.connection_node.node.pub,
                ledger_api_id=FetchAICrypto.identifier,
            )
            cls.multiplexer_client_1 = Multiplexer(
                [cls.connection_client_1],
                protocols=[MockDefaultMessageProtocol])
            cls.multiplexer_client_1.connect()

            temp_dir_client_2 = os.path.join(cls.t, "temp_dir_client_2")
            os.mkdir(temp_dir_client_2)
            cls.connection_client_2 = _make_libp2p_client_connection(
                data_dir=temp_dir_client_2,
                peer_public_key=cls.connection_node.node.pub,
                ledger_api_id=EthereumCrypto.identifier,
            )
            cls.multiplexer_client_2 = Multiplexer(
                [cls.connection_client_2],
                protocols=[MockDefaultMessageProtocol])
            cls.multiplexer_client_2.connect()
        except Exception:
            cls.multiplexer_node.disconnect()
            raise
Пример #28
0
    def test_connectivity(self):
        """Test connectivity."""
        for i, maddr in enumerate(PUBLIC_DHT_MADDRS):
            temp_dir = os.path.join(self.t, f"dir_{i}")
            os.mkdir(temp_dir)
            connection = _make_libp2p_connection(
                port=DEFAULT_PORT + 1,
                relay=False,
                entry_peers=[maddr],
                data_dir=temp_dir,
            )
            multiplexer = Multiplexer([connection])
            self.log_files.append(connection.node.log_file)
            multiplexer.connect()

            try:
                assert (
                    connection.is_connected is True
                ), "Couldn't connect to public node {}".format(maddr)
            except Exception:
                raise
            finally:
                multiplexer.disconnect()
Пример #29
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.log_files = []

        cls.connection_node = _make_libp2p_connection(DEFAULT_PORT + 1, delegate=True)
        cls.multiplexer_node = Multiplexer([cls.connection_node])
        cls.log_files.append(cls.connection_node.node.log_file)
        cls.multiplexer_node.connect()

        try:
            cls.connection_client_1 = _make_libp2p_client_connection()
            cls.multiplexer_client_1 = Multiplexer([cls.connection_client_1])
            cls.multiplexer_client_1.connect()

            cls.connection_client_2 = _make_libp2p_client_connection()
            cls.multiplexer_client_2 = Multiplexer([cls.connection_client_2])
            cls.multiplexer_client_2.connect()
        except Exception:
            cls.multiplexer_node.disconnect()
            raise
Пример #30
0
    def setup_class(cls):
        """Set the test up"""
        cls.cwd = os.getcwd()
        cls.t = tempfile.mkdtemp()
        os.chdir(cls.t)

        cls.log_files = []
        cls.multiplexers = []

        try:
            temp_dir_rel_1 = os.path.join(cls.t, "temp_dir_rel_1")
            os.mkdir(temp_dir_rel_1)
            port_relay_1 = DEFAULT_PORT + 10
            cls.connection_relay_1 = _make_libp2p_connection(
                data_dir=temp_dir_rel_1, port=port_relay_1)
            cls.multiplexer_relay_1 = Multiplexer(
                [cls.connection_relay_1],
                protocols=[MockDefaultMessageProtocol])
            cls.log_files.append(cls.connection_relay_1.node.log_file)
            cls.multiplexer_relay_1.connect()
            cls.multiplexers.append(cls.multiplexer_relay_1)

            relay_peer_1 = cls.connection_relay_1.node.multiaddrs[0]

            temp_dir_rel_2 = os.path.join(cls.t, "temp_dir_rel_2")
            os.mkdir(temp_dir_rel_2)
            port_relay_2 = DEFAULT_PORT + 100
            cls.connection_relay_2 = _make_libp2p_connection(
                data_dir=temp_dir_rel_2,
                port=port_relay_2,
                entry_peers=[relay_peer_1])
            cls.multiplexer_relay_2 = Multiplexer(
                [cls.connection_relay_2],
                protocols=[MockDefaultMessageProtocol])
            cls.log_files.append(cls.connection_relay_2.node.log_file)
            cls.multiplexer_relay_2.connect()
            cls.multiplexers.append(cls.multiplexer_relay_2)

            relay_peer_2 = cls.connection_relay_2.node.multiaddrs[0]

            cls.connections = [cls.connection_relay_1, cls.connection_relay_2]

            port = port_relay_1
            for i in range(int(DEFAULT_NET_SIZE / 2) + 1):
                temp_dir = os.path.join(cls.t, f"temp_dir_conn_{i}_1")
                os.mkdir(temp_dir)
                port += 1
                conn = _make_libp2p_connection(
                    data_dir=temp_dir,
                    port=port,
                    relay=False,
                    entry_peers=[relay_peer_1],
                )
                mux = Multiplexer([conn])
                cls.connections.append(conn)
                cls.log_files.append(conn.node.log_file)
                mux.connect()
                cls.multiplexers.append(mux)

            port = port_relay_2
            for i in range(int(DEFAULT_NET_SIZE / 2) + 1):
                temp_dir = os.path.join(cls.t, f"temp_dir_conn_{i}_2")
                os.mkdir(temp_dir)
                port += 1
                conn = _make_libp2p_connection(
                    data_dir=temp_dir,
                    port=port,
                    relay=False,
                    entry_peers=[relay_peer_2],
                )
                mux = Multiplexer([conn])
                cls.connections.append(conn)
                cls.log_files.append(conn.node.log_file)
                mux.connect()
                cls.multiplexers.append(mux)
        except Exception as e:
            cls.teardown_class()
            raise e