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)
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]
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
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)