def METHOD_NAME():
    @strawberry.schema_directive(locations=[Location.OBJECT, Location.INPUT_OBJECT])
    class SchemaDirective:
        name: str
    @strawberry.type(directives=[SchemaDirective(name="Query")])
    class Query:
        hello: str
    schema = strawberry.Schema(query=Query)
    graphql_schema: GraphQLSchema = schema._schema
    # Schema
    assert graphql_schema.extensions[DEFINITION_BACKREF] is schema
    # TODO: Apparently I stumbled on a bug:
    #        SchemaDirective are used on schema.__str__(),
    #        but aren't added to graphql_schema.directives
    # maybe graphql_schema_directive = graphql_schema.get_directive("schemaDirective")
    directives = get_object_definition(Query, strict=True).directives
    assert directives is not None
    graphql_schema_directive = schema.schema_converter.from_schema_directive(
        directives[0]
    )
    assert (
        graphql_schema_directive.extensions[DEFINITION_BACKREF]
        is SchemaDirective.__strawberry_directive__
    )