예제 #1
0
    def test_load_peer_addresses_peer_qrl(self):
        """
        Should load peers from peers.qrl AND from config.user.peer_list
        """
        with set_qrl_dir('peers') as tmp_dir:
            self.peer_manager.peers_path = os.path.join(tmp_dir, 'peers.json')

            self.peer_manager.load_peer_addresses()

            # This was in peers.qrl
            self.assertIn(IPMetadata.canonical_full_address('34.208.138.15'),
                          self.peer_manager.known_peer_addresses)
            # config.user.peer_list is all in there too
            for p in config.user.peer_list:
                self.assertIn(IPMetadata.canonical_full_address(p),
                              self.peer_manager.known_peer_addresses)
예제 #2
0
    def load_known_peers(self) -> List[str]:
        known_peers = []
        try:
            logger.info('Loading known peers')
            with open(self.peers_path, 'r') as infile:
                known_peers = json.load(infile)
        except Exception as e:
            logger.info("Could not open known_peers list")

        return [IPMetadata.canonical_full_address(fa) for fa in known_peers]
예제 #3
0
    def combine_peer_lists(peer_ips, sender_full_addresses: List, check_global=False) -> Set[IPMetadata]:
        tmp_list = list(peer_ips)
        tmp_list.extend(sender_full_addresses)

        answer = set()
        for item in tmp_list:
            try:
                answer.add(IPMetadata.canonical_full_address(item, check_global))
            except:  # noqa
                logger.warning("Invalid Peer Address {}".format(item))

        return answer
예제 #4
0
    def test_load_peer_addresses_no_file(self):
        """
        If no peers.qrl exists, use config.user.peer_list
        """
        with set_qrl_dir('no_data') as tmp_dir:
            self.peer_manager.peers_path = os.path.join(
                tmp_dir, config.dev.peers_filename)

            self.peer_manager.load_peer_addresses()

            # config.user.peer_list is all in there too
            self.assertEqual(len(config.user.peer_list),
                             len(self.peer_manager.known_peer_addresses))
            for p in config.user.peer_list:
                self.assertIn(IPMetadata.canonical_full_address(p),
                              self.peer_manager.known_peer_addresses)