Ejemplo n.º 1
0
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
        ))
Ejemplo n.º 2
0
 def returns_false_for_random_garbage():
     assert is_specified_directive(None) is False
     assert is_specified_directive({"what": "is this"}) is False
Ejemplo n.º 3
0
 def returns_false_for_scalar_type_named_like_specified_directive():
     ScalarNamedLikeDirective = GraphQLScalarType("deprecated", lambda: None)
     assert is_specified_directive(ScalarNamedLikeDirective) is False
Ejemplo n.º 4
0
 def returns_false_for_spec_defined_scalar_type():
     assert is_specified_directive(GraphQLString) is False
Ejemplo n.º 5
0
 def returns_false_for_non_directive():
     assert is_specified_directive(EnumType) is False
     assert is_specified_directive(ScalarType) is False
Ejemplo n.º 6
0
 def returns_false_for_directive_class_rather_than_specified_instance():
     assert is_specified_directive(GraphQLDirective) is False
Ejemplo n.º 7
0
 def returns_false_for_custom_directive():
     assert is_specified_directive(Directive) is False
Ejemplo n.º 8
0
 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
Ejemplo n.º 9
0
 def returns_false_for_unspecified_directive():
     directive = GraphQLDirective('test', [])
     assert is_specified_directive(directive) is False
Ejemplo n.º 10
0
 def returns_true_for_specified_directive():
     assert is_specified_directive(GraphQLSkipDirective) is True
Ejemplo n.º 11
0
def print_schema(schema: GraphQLSchema) -> str:
    return print_filtered_schema(
        schema, lambda n: not is_specified_directive(n), is_defined_type
    )