def print_schema(schema: BaseSchema) -> str: graphql_core_schema = schema._schema # type: ignore directives = filter(lambda n: not is_specified_directive(n), graphql_core_schema.directives) type_map = graphql_core_schema.type_map types = filter(is_defined_type, map(type_map.get, sorted(type_map))) # type: ignore return "\n\n".join( chain( filter(None, [print_schema_definition(graphql_core_schema)]), (print_directive(directive) for directive in directives), (_print_type(type_, schema) for type_ in types), # type: ignore ))
def returns_false_for_random_garbage(): assert is_specified_directive(None) is False assert is_specified_directive({"what": "is this"}) is False
def returns_false_for_scalar_type_named_like_specified_directive(): ScalarNamedLikeDirective = GraphQLScalarType("deprecated", lambda: None) assert is_specified_directive(ScalarNamedLikeDirective) is False
def returns_false_for_spec_defined_scalar_type(): assert is_specified_directive(GraphQLString) is False
def returns_false_for_non_directive(): assert is_specified_directive(EnumType) is False assert is_specified_directive(ScalarType) is False
def returns_false_for_directive_class_rather_than_specified_instance(): assert is_specified_directive(GraphQLDirective) is False
def returns_false_for_custom_directive(): assert is_specified_directive(Directive) is False
def returns_true_for_specified_directives(): assert is_specified_directive(GraphQLIncludeDirective) is True assert is_specified_directive(GraphQLSkipDirective) is True assert is_specified_directive(GraphQLDeprecatedDirective) is True
def returns_false_for_unspecified_directive(): directive = GraphQLDirective('test', []) assert is_specified_directive(directive) is False
def returns_true_for_specified_directive(): assert is_specified_directive(GraphQLSkipDirective) is True
def print_schema(schema: GraphQLSchema) -> str: return print_filtered_schema( schema, lambda n: not is_specified_directive(n), is_defined_type )