def test_validate_enode_require_ip(uri, should_fail): if should_fail: message = "A concrete IP address must be specified" with pytest.raises(ValidationError, match=message): validate_enode_uri(uri, require_ip=True) else: validate_enode_uri(uri, require_ip=True)
def __call__(self, parser: argparse.ArgumentParser, namespace: argparse.Namespace, value: Any, option_string: str = None) -> None: if value is None: return validate_enode_uri(value) enode = Node.from_uri(value) if getattr(namespace, self.dest) is None: setattr(namespace, self.dest, []) enode_list = getattr(namespace, self.dest) enode_list.append(enode)
async def addPeer(self, node: str) -> None: validate_enode_uri(node, require_ip=True) self.event_bus.broadcast(ConnectToNodeCommand(node), TO_NETWORKING_BROADCAST_CONFIG)
def from_uri(cls, uri: str) -> 'Node': validate_enode_uri(uri) # Be no more permissive than the validation parsed = urlparse.urlparse(uri) pubkey = keys.PublicKey(decode_hex(parsed.username)) return cls(pubkey, Address(parsed.hostname, parsed.port))
def test_validate_enode_success(uri): validate_enode_uri(uri)
def test_validate_enode_failures(uri, message): with pytest.raises(ValidationError, match=message): validate_enode_uri(uri)