Fixed Python3 errors

This commit is contained in:
Syrus Akbary 2016-08-14 16:50:03 -07:00
parent 35169480d0
commit 9f1c5fa682
16 changed files with 33 additions and 31 deletions

View File

@ -49,7 +49,6 @@ class DjangoDebugMiddleware(object):
raise Exception('DjangoDebug need the context to be writable, context received: {}.'.format( raise Exception('DjangoDebug need the context to be writable, context received: {}.'.format(
context.__class__.__name__ context.__class__.__name__
)) ))
print info.schema.get_type('DjangoDebug'), info.return_type
if info.schema.get_type('DjangoDebug') == info.return_type: if info.schema.get_type('DjangoDebug') == info.return_type:
return context.django_debug.get_debug_promise() return context.django_debug.get_debug_promise()
promise = next(root, args, context, info) promise = next(root, args, context, info)

View File

@ -4,7 +4,6 @@ from py.test import raises
import graphene import graphene
from ..form_converter import convert_form_field from ..form_converter import convert_form_field
from graphene import ID, List, NonNull from graphene import ID, List, NonNull
from graphene.utils.get_graphql_type import get_graphql_type
from .models import Reporter from .models import Reporter

View File

@ -28,7 +28,7 @@ def test_should_map_fields_correctly():
model = Reporter model = Reporter
registry = Registry() registry = Registry()
assert ReporterType2._meta.fields.keys() == ['id', 'first_name', 'last_name', 'email', 'pets', 'articles'] assert list(ReporterType2._meta.fields.keys()) == ['id', 'first_name', 'last_name', 'email', 'pets', 'articles']
def test_should_map_only_few_fields(): def test_should_map_only_few_fields():
@ -37,4 +37,4 @@ def test_should_map_only_few_fields():
class Meta: class Meta:
model = Reporter model = Reporter
only_fields = ('id', 'email') only_fields = ('id', 'email')
assert Reporter2._meta.fields.keys() == ['id', 'email'] assert list(Reporter2._meta.fields.keys()) == ['id', 'email']

View File

@ -49,7 +49,7 @@ def test_sqlalchemy_interface():
def test_objecttype_registered(): def test_objecttype_registered():
assert issubclass(Character, ObjectType) assert issubclass(Character, ObjectType)
assert Character._meta.model == Reporter assert Character._meta.model == Reporter
assert Character._meta.fields.keys() == ['id', 'first_name', 'last_name', 'email', 'pets', 'articles'] assert list(Character._meta.fields.keys()) == ['id', 'first_name', 'last_name', 'email', 'pets', 'articles']
# def test_sqlalchemynode_idfield(): # def test_sqlalchemynode_idfield():
@ -70,5 +70,5 @@ def test_node_replacedfield():
def test_object_type(): def test_object_type():
assert issubclass(Human, ObjectType) assert issubclass(Human, ObjectType)
assert Human._meta.fields.keys() == ['id', 'pub_date', 'headline', 'reporter_id', 'reporter'] assert list(Human._meta.fields.keys()) == ['id', 'pub_date', 'headline', 'reporter_id', 'reporter']
assert is_node(Human) assert is_node(Human)

View File

@ -34,6 +34,7 @@ setup(
install_requires=[ install_requires=[
'six>=1.10.0', 'six>=1.10.0',
'graphene>=1.0', 'graphene>=1.0',
'SQLAlchemy',
'singledispatch>=3.4.0.3', 'singledispatch>=3.4.0.3',
], ],
tests_require=[ tests_require=[

View File

@ -34,7 +34,7 @@ schema = Schema(query=RootQuery)
def test_connection(): def test_connection():
assert MyObjectConnection._meta.name == 'MyObjectConnection' assert MyObjectConnection._meta.name == 'MyObjectConnection'
fields = MyObjectConnection._meta.fields fields = MyObjectConnection._meta.fields
assert fields.keys() == ['page_info', 'edges', 'extra'] assert list(fields.keys()) == ['page_info', 'edges', 'extra']
edge_field = fields['edges'] edge_field = fields['edges']
pageinfo_field = fields['page_info'] pageinfo_field = fields['page_info']
@ -51,7 +51,7 @@ def test_edge():
Edge = MyObjectConnection.Edge Edge = MyObjectConnection.Edge
assert Edge._meta.name == 'MyObjectEdge' assert Edge._meta.name == 'MyObjectEdge'
edge_fields = Edge._meta.fields edge_fields = Edge._meta.fields
assert edge_fields.keys() == ['node', 'cursor', 'other'] assert list(edge_fields.keys()) == ['node', 'cursor', 'other']
assert isinstance(edge_fields['node'], Field) assert isinstance(edge_fields['node'], Field)
assert edge_fields['node'].type == MyObject assert edge_fields['node'].type == MyObject
@ -63,4 +63,4 @@ def test_edge():
def test_pageinfo(): def test_pageinfo():
assert PageInfo._meta.name == 'PageInfo' assert PageInfo._meta.name == 'PageInfo'
fields = PageInfo._meta.fields fields = PageInfo._meta.fields
assert fields.keys() == ['has_next_page', 'has_previous_page', 'start_cursor', 'end_cursor'] assert list(fields.keys()) == ['has_next_page', 'has_previous_page', 'start_cursor', 'end_cursor']

View File

@ -38,11 +38,11 @@ def test_no_mutate_and_get_payload():
def test_mutation(): def test_mutation():
fields = SaySomething._meta.fields fields = SaySomething._meta.fields
assert fields.keys() == ['phrase'] assert list(fields.keys()) == ['phrase']
assert isinstance(fields['phrase'], Field) assert isinstance(fields['phrase'], Field)
field = SaySomething.Field() field = SaySomething.Field()
assert field.type == SaySomething assert field.type == SaySomething
assert field.args.keys() == ['input'] assert list(field.args.keys()) == ['input']
assert isinstance(field.args['input'], Argument) assert isinstance(field.args['input'], Argument)
assert field.args['input'].type == SaySomething.Input assert field.args['input'].type == SaySomething.Input
@ -51,7 +51,7 @@ def test_mutation_input():
Input = SaySomething.Input Input = SaySomething.Input
assert issubclass(Input, InputObjectType) assert issubclass(Input, InputObjectType)
fields = Input._meta.fields fields = Input._meta.fields
assert fields.keys() == ['what', 'client_mutation_id'] assert list(fields.keys()) == ['what', 'client_mutation_id']
assert isinstance(fields['what'], InputField) assert isinstance(fields['what'], InputField)
assert fields['what'].type == String assert fields['what'].type == String
assert isinstance(fields['client_mutation_id'], InputField) assert isinstance(fields['client_mutation_id'], InputField)

View File

@ -22,7 +22,7 @@ class Argument(OrderedType):
def to_arguments(args, extra_args): def to_arguments(args, extra_args):
from .unmountedtype import UnmountedType from .unmountedtype import UnmountedType
extra_args = sorted(extra_args.items(), key=lambda f: f[1]) extra_args = sorted(extra_args.items(), key=lambda f: f[1])
iter_arguments = chain(args.items() + extra_args) iter_arguments = chain(args.items(), extra_args)
arguments = OrderedDict() arguments = OrderedDict()
for default_name, arg in iter_arguments: for default_name, arg in iter_arguments:
if isinstance(arg, UnmountedType): if isinstance(arg, UnmountedType):

View File

@ -37,6 +37,6 @@ def test_generate_abstracttype_inheritance():
class MyAbstractType2(MyAbstractType1): class MyAbstractType2(MyAbstractType1):
field2 = UnmountedType(MyType) field2 = UnmountedType(MyType)
assert MyAbstractType2._meta.fields.keys() == ['field1', 'field2'] assert list(MyAbstractType2._meta.fields.keys()) == ['field1', 'field2']
assert not hasattr(MyAbstractType1, 'field1') assert not hasattr(MyAbstractType1, 'field1')
assert not hasattr(MyAbstractType2, 'field2') assert not hasattr(MyAbstractType2, 'field2')

View File

@ -137,7 +137,6 @@ def test_includes_nested_input_objects_in_the_map():
subscription=SomeSubscription subscription=SomeSubscription
) )
print schema.get_type_map()
assert schema.get_type_map()['NestedInputObject'].graphene_type is NestedInputObject assert schema.get_type_map()['NestedInputObject'].graphene_type is NestedInputObject

View File

@ -66,7 +66,7 @@ def test_field_source_func():
def test_field_source_argument_as_kw(): def test_field_source_argument_as_kw():
MyType = object() MyType = object()
field = Field(MyType, b=NonNull(True), c=Argument(None), a=NonNull(False)) field = Field(MyType, b=NonNull(True), c=Argument(None), a=NonNull(False))
assert field.args.keys() == ['b', 'c', 'a'] assert list(field.args.keys()) == ['b', 'c', 'a']
assert isinstance(field.args['b'], Argument) assert isinstance(field.args['b'], Argument)
assert isinstance(field.args['b'].type, NonNull) assert isinstance(field.args['b'].type, NonNull)
assert field.args['b'].type.of_type is True assert field.args['b'].type.of_type is True

View File

@ -68,7 +68,7 @@ def test_generate_inputobjecttype_inherit_abstracttype():
class MyInputObjectType(InputObjectType, MyAbstractType): class MyInputObjectType(InputObjectType, MyAbstractType):
field2 = MyScalar(MyType) field2 = MyScalar(MyType)
assert MyInputObjectType._meta.fields.keys() == ['field1', 'field2'] assert list(MyInputObjectType._meta.fields.keys()) == ['field1', 'field2']
assert [type(x) for x in MyInputObjectType._meta.fields.values()] == [InputField, InputField] assert [type(x) for x in MyInputObjectType._meta.fields.values()] == [InputField, InputField]
@ -79,5 +79,5 @@ def test_generate_inputobjecttype_inherit_abstracttype_reversed():
class MyInputObjectType(MyAbstractType, InputObjectType): class MyInputObjectType(MyAbstractType, InputObjectType):
field2 = MyScalar(MyType) field2 = MyScalar(MyType)
assert MyInputObjectType._meta.fields.keys() == ['field1', 'field2'] assert list(MyInputObjectType._meta.fields.keys()) == ['field1', 'field2']
assert [type(x) for x in MyInputObjectType._meta.fields.values()] == [InputField, InputField] assert [type(x) for x in MyInputObjectType._meta.fields.values()] == [InputField, InputField]

View File

@ -67,7 +67,7 @@ def test_generate_interface_inherit_abstracttype():
class MyInterface(Interface, MyAbstractType): class MyInterface(Interface, MyAbstractType):
field2 = MyScalar() field2 = MyScalar()
assert MyInterface._meta.fields.keys() == ['field1', 'field2'] assert list(MyInterface._meta.fields.keys()) == ['field1', 'field2']
assert [type(x) for x in MyInterface._meta.fields.values()] == [Field, Field] assert [type(x) for x in MyInterface._meta.fields.values()] == [Field, Field]
@ -79,7 +79,7 @@ def test_generate_interface_inherit_interface():
field2 = MyScalar() field2 = MyScalar()
assert MyInterface._meta.name == 'MyInterface' assert MyInterface._meta.name == 'MyInterface'
assert MyInterface._meta.fields.keys() == ['field1', 'field2'] assert list(MyInterface._meta.fields.keys()) == ['field1', 'field2']
assert [type(x) for x in MyInterface._meta.fields.values()] == [Field, Field] assert [type(x) for x in MyInterface._meta.fields.values()] == [Field, Field]
@ -90,5 +90,5 @@ def test_generate_interface_inherit_abstracttype_reversed():
class MyInterface(MyAbstractType, Interface): class MyInterface(MyAbstractType, Interface):
field2 = MyScalar() field2 = MyScalar()
assert MyInterface._meta.fields.keys() == ['field1', 'field2'] assert list(MyInterface._meta.fields.keys()) == ['field1', 'field2']
assert [type(x) for x in MyInterface._meta.fields.values()] == [Field, Field] assert [type(x) for x in MyInterface._meta.fields.values()] == [Field, Field]

View File

@ -79,8 +79,8 @@ def test_generate_objecttype_inherit_abstracttype():
class MyObjectType(ObjectType, MyAbstractType): class MyObjectType(ObjectType, MyAbstractType):
field2 = MyScalar() field2 = MyScalar()
assert MyObjectType._meta.fields.keys() == ['field1', 'field2'] assert list(MyObjectType._meta.fields.keys()) == ['field1', 'field2']
assert [type(x) for x in MyObjectType._meta.fields.values()] == [Field, Field] assert list(map(type, MyObjectType._meta.fields.values())) == [Field, Field]
def test_generate_objecttype_inherit_abstracttype_reversed(): def test_generate_objecttype_inherit_abstracttype_reversed():
@ -90,8 +90,8 @@ def test_generate_objecttype_inherit_abstracttype_reversed():
class MyObjectType(MyAbstractType, ObjectType): class MyObjectType(MyAbstractType, ObjectType):
field2 = MyScalar() field2 = MyScalar()
assert MyObjectType._meta.fields.keys() == ['field1', 'field2'] assert list(MyObjectType._meta.fields.keys()) == ['field1', 'field2']
assert [type(x) for x in MyObjectType._meta.fields.values()] == [Field, Field] assert list(map(type, MyObjectType._meta.fields.values())) == [Field, Field]
def test_generate_objecttype_unmountedtype(): def test_generate_objecttype_unmountedtype():

View File

@ -57,11 +57,12 @@ def test_objecttype():
assert graphql_type.description == 'Description' assert graphql_type.description == 'Description'
fields = graphql_type.get_fields() fields = graphql_type.get_fields()
assert fields.keys() == ['foo', 'gizmo'] assert list(fields.keys()) == ['foo', 'gizmo']
foo_field = fields['foo'] foo_field = fields['foo']
assert isinstance(foo_field, GraphQLField) assert isinstance(foo_field, GraphQLField)
assert foo_field.description == 'Field description' assert foo_field.description == 'Field description'
assert foo_field.resolver == MyObjectType.resolve_foo.__func__ f = MyObjectType.resolve_foo
assert foo_field.resolver == getattr(f, '__func__', f)
assert foo_field.args == { assert foo_field.args == {
'bar': GraphQLArgument(GraphQLString, description='Argument description', default_value='x') 'bar': GraphQLArgument(GraphQLString, description='Argument description', default_value='x')
} }
@ -74,9 +75,9 @@ def test_dynamic_objecttype():
typemap = TypeMap([MyObjectType]) typemap = TypeMap([MyObjectType])
assert 'MyObjectType' in typemap assert 'MyObjectType' in typemap
assert MyObjectType._meta.fields.keys() == ['bar'] assert list(MyObjectType._meta.fields.keys()) == ['bar']
graphql_type = typemap['MyObjectType'] graphql_type = typemap['MyObjectType']
fields = graphql_type.get_fields() fields = graphql_type.get_fields()
assert fields.keys() == ['bar'] assert list(fields.keys()) == ['bar']
assert fields['bar'].type == GraphQLString assert fields['bar'].type == GraphQLString

View File

@ -244,8 +244,11 @@ class TypeMap(GraphQLTypeMap):
break break
resolver = interface_resolver resolver = interface_resolver
# Only if is not decorated with classmethod # Only if is not decorated with classmethod
if resolver and not getattr(resolver, '__self__', True): if resolver:
if not getattr(resolver, '__self__', True):
return resolver.__func__ return resolver.__func__
return resolver
return partial(cls.default_resolver, name) return partial(cls.default_resolver, name)
@classmethod @classmethod