Added schema str representation. Fixed #32

This commit is contained in:
Syrus Akbary 2015-11-18 17:53:11 -08:00
parent 9b635c848c
commit f119c3b2fc
2 changed files with 23 additions and 0 deletions

View File

@ -6,6 +6,7 @@ from graphql.core.execution.middlewares.sync import \
SynchronousExecutionMiddleware
from graphql.core.type import GraphQLSchema as _GraphQLSchema
from graphql.core.utils.introspection_query import introspection_query
from graphql.core.utils.schema_printer import print_schema
from graphene import signals
@ -89,6 +90,9 @@ class Schema(object):
objecttype) and issubclass(objecttype, BaseObjectType):
return objecttype
def __str__(self):
return print_schema(self.schema)
def setup(self):
assert self.query, 'The base query type is not set'
self.T(self.query)

View File

@ -152,3 +152,22 @@ def test_lazytype():
schema.query = MyType
assert schema.T(t) == schema.T(MyType)
def test_schema_str():
expected = """
interface Character {
name: String
}
type Human implements Character {
name: String
friends: [Character]
pet: Pet
}
type Pet {
type: String
}
""".lstrip()
assert str(schema) == expected