diff --git a/graphene/relay/node.py b/graphene/relay/node.py index 8defefff..75e88cb7 100644 --- a/graphene/relay/node.py +++ b/graphene/relay/node.py @@ -97,6 +97,13 @@ class Node(AbstractNode): f"Exception message: {str(e)}" ) + # from_global_id returns "" in the case of decode errors + if _type == "" and _id == "": + raise Exception( + f'Unable to parse global ID "{global_id}". ' + 'Make sure it is a base64 encoded string in the format: "TypeName:id". ' + ) + graphene_type = info.schema.get_type(_type) if graphene_type is None: raise Exception(f'Relay Node "{_type}" not found in schema') diff --git a/graphene/test/__init__.py b/graphene/test/__init__.py index 8591dc06..517d8997 100644 --- a/graphene/test/__init__.py +++ b/graphene/test/__init__.py @@ -1,5 +1,5 @@ from promise import Promise, is_thenable -from graphql.error import format_error as format_graphql_error +from graphql.error.graphql_error import format_error as format_graphql_error from graphql.error import GraphQLError from graphene.types.schema import Schema