def test_simple(self): union_schema = s.Union( "Foo", "my union!", [ s.TypeRef("BlaType", s.Kind.OBJECT, None), s.TypeRef("Quxlike", s.Kind.INTERFACE, None), s.TypeRef("Foobar", s.Kind.UNION, None), ], ) objs = { "BlaType": type("BlaType", (), {}), "Quxlike": type("Quxlike", (), {}), "Foobar": type("Foobar", (), {}), "Bla": type("Bla", (), {}), } created = s.union_as_type(union_schema, objs) assert created.__name__ == "Foo" assert created.__doc__ == "my union!" assert issubclass(created, quiz.Union) assert created.__args__ == ( objs["BlaType"], objs["Quxlike"], objs["Foobar"], )
def test_non_null(self): ref = s.TypeRef(None, s.Kind.NON_NULL, s.TypeRef('Foo', s.Kind.OBJECT, None)) classes = {'Foo': type('Foo', (), {})} resolved = s.resolve_typeref(ref, classes) assert resolved == classes['Foo']
def test_simple(self): obj_schema = s.Object( "Foo", "the foo description!", interfaces=[ s.TypeRef("Interface1", s.Kind.INTERFACE, None), s.TypeRef("BlaInterface", s.Kind.INTERFACE, None), ], input_fields=None, fields=[ s.Field( "blabla", type=s.TypeRef("String", s.Kind.SCALAR, None), args=[], desc="my description", is_deprecated=False, deprecation_reason=None, ) ], ) interfaces = { "Interface1": type("Interface1", (quiz.Interface, ), {"__module__": "foo"}), "BlaInterface": type("BlaInterface", (quiz.Interface, ), {"__module__": "foo"}), "Qux": type("Qux", (quiz.Interface, ), {"__module__": "foo"}), } created = s.object_as_type(obj_schema, interfaces, module="foo") assert issubclass(created, quiz.Object) assert created.__name__ == "Foo" assert created.__doc__ == "the foo description!" assert created.__module__ == "foo" assert issubclass(created, interfaces["Interface1"]) assert issubclass(created, interfaces["BlaInterface"])
def test_list(self): ref = s.TypeRef(None, s.Kind.LIST, s.TypeRef('Foo', s.Kind.OBJECT, None)) classes = {'Foo': type('Foo', (), {})} resolved = s.resolve_typeref(ref, classes) assert issubclass(resolved, quiz.Nullable) assert issubclass(resolved.__arg__, quiz.List) assert issubclass(resolved.__arg__.__arg__, quiz.Nullable) assert resolved.__arg__.__arg__.__arg__ == classes['Foo']
def test_default(self): ref = s.TypeRef('Foo', s.Kind.ENUM, None) classes = {'Foo': quiz.Enum('Foo', {})} resolved = s.resolve_typeref(ref, classes) assert issubclass(resolved, quiz.Nullable) assert resolved.__arg__ is classes['Foo']
def test_list_non_null(self): ref = s.TypeRef( None, s.Kind.NON_NULL, s.TypeRef( None, s.Kind.LIST, s.TypeRef( None, s.Kind.NON_NULL, s.TypeRef("Foo", s.Kind.OBJECT, None), ), ), ) classes = {"Foo": type("Foo", (), {})} resolved = s.resolve_typeref(ref, classes) assert issubclass(resolved, quiz.List) assert resolved.__arg__ == classes["Foo"]
def test_one(self): union_schema = s.Union("Foo", "my union!", [s.TypeRef("BlaType", s.Kind.OBJECT, None)]) objs = {"BlaType": type("BlaType", (), {})} created = s.union_as_type(union_schema, objs) assert created.__name__ == "Foo" assert created.__doc__ == "my union!" assert issubclass(created, quiz.Union) assert created.__args__ == (objs["BlaType"], )
def test_simple(self): union_schema = s.Union('Foo', 'my union!', [ s.TypeRef('BlaType', s.Kind.OBJECT, None), s.TypeRef('Quxlike', s.Kind.INTERFACE, None), s.TypeRef('Foobar', s.Kind.UNION, None), ]) objs = { 'BlaType': type('BlaType', (), {}), 'Quxlike': type('Quxlike', (), {}), 'Foobar': type('Foobar', (), {}), 'Bla': type('Bla', (), {}), } created = s.union_as_type(union_schema, objs) assert created.__name__ == 'Foo' assert created.__doc__ == 'my union!' assert issubclass(created, quiz.Union) assert created.__args__ == ( objs['BlaType'], objs['Quxlike'], objs['Foobar'], )
def test_simple(self): obj_schema = s.Object('Foo', 'the foo description!', interfaces=[ s.TypeRef('Interface1', s.Kind.INTERFACE, None), s.TypeRef('BlaInterface', s.Kind.INTERFACE, None), ], input_fields=None, fields=[ s.Field( 'blabla', type=s.TypeRef('String', s.Kind.SCALAR, None), args=[], desc='my description', is_deprecated=False, deprecation_reason=None, ), ]) interfaces = { 'Interface1': type('Interface1', (quiz.Interface, ), {'__module__': 'foo'}), 'BlaInterface': type('BlaInterface', (quiz.Interface, ), {'__module__': 'foo'}), 'Qux': type('Qux', (quiz.Interface, ), {'__module__': 'foo'}), } created = s.object_as_type(obj_schema, interfaces, module='foo') assert issubclass(created, quiz.Object) assert created.__name__ == 'Foo' assert created.__doc__ == 'the foo description!' assert created.__module__ == 'foo' assert issubclass(created, interfaces['Interface1']) assert issubclass(created, interfaces['BlaInterface'])
def test_one(self): union_schema = s.Union('Foo', 'my union!', [ s.TypeRef('BlaType', s.Kind.OBJECT, None), ]) objs = { 'BlaType': type('BlaType', (), {}), } created = s.union_as_type(union_schema, objs) assert created.__name__ == 'Foo' assert created.__doc__ == 'my union!' assert issubclass(created, quiz.Union) assert created.__args__ == (objs['BlaType'], )
def test_simple(self): interface_schema = s.Interface('Foo', 'my interface!', [ s.Field( 'blabla', type=s.TypeRef('String', s.Kind.SCALAR, None), args=[], desc='my description', is_deprecated=False, deprecation_reason=None, ), ]) created = s.interface_as_type(interface_schema, module='mymodule') assert isinstance(created, quiz.Interface) assert issubclass(created, quiz.types.Namespace) assert created.__name__ == 'Foo' assert created.__doc__ == 'my interface!' assert created.__module__ == 'mymodule'
def test_simple(self): interface_schema = s.Interface( "Foo", "my interface!", [ s.Field( "blabla", type=s.TypeRef("String", s.Kind.SCALAR, None), args=[], desc="my description", is_deprecated=False, deprecation_reason=None, ) ], ) created = s.interface_as_type(interface_schema, module="mymodule") assert isinstance(created, quiz.Interface) assert issubclass(created, quiz.types.Namespace) assert created.__name__ == "Foo" assert created.__doc__ == "my interface!" assert created.__module__ == "mymodule"