mirror of
https://github.com/graphql-python/graphene.git
synced 2025-02-02 20:54:16 +03:00
Removed AbstractType
This commit is contained in:
parent
2d557d6ed7
commit
f0edcb224a
|
@ -1,8 +1,8 @@
|
||||||
class AbstractTypeMeta(type):
|
from ..pyutils.init_subclass import InitSubclassMeta
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class AbstractType(object):
|
class AbstractType(object):
|
||||||
|
__metaclass__ = InitSubclassMeta
|
||||||
|
|
||||||
def __init_subclass__(cls, *args, **kwargs):
|
def __init_subclass__(cls, *args, **kwargs):
|
||||||
print("Abstract type is deprecated")
|
print("Abstract type is deprecated")
|
||||||
super(AbstractType, cls).__init_subclass__(*args, **kwargs)
|
super(AbstractType, cls).__init_subclass__(*args, **kwargs)
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
|
|
||||||
from ..abstracttype import AbstractType
|
|
||||||
from ..field import Field
|
|
||||||
from ..unmountedtype import UnmountedType
|
|
||||||
|
|
||||||
|
|
||||||
class MyType(object):
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class MyScalar(UnmountedType):
|
|
||||||
|
|
||||||
def get_type(self):
|
|
||||||
return MyType
|
|
||||||
|
|
||||||
|
|
||||||
def test_generate_abstracttype_with_fields():
|
|
||||||
class MyAbstractType(AbstractType):
|
|
||||||
field = Field(MyType)
|
|
||||||
|
|
||||||
assert 'field' in MyAbstractType._meta.fields
|
|
||||||
assert isinstance(MyAbstractType._meta.fields['field'], Field)
|
|
||||||
|
|
||||||
|
|
||||||
def test_generate_abstracttype_with_unmountedfields():
|
|
||||||
class MyAbstractType(AbstractType):
|
|
||||||
field = UnmountedType(MyType)
|
|
||||||
|
|
||||||
assert 'field' in MyAbstractType._meta.fields
|
|
||||||
assert isinstance(MyAbstractType._meta.fields['field'], UnmountedType)
|
|
||||||
|
|
||||||
|
|
||||||
def test_generate_abstracttype_inheritance():
|
|
||||||
class MyAbstractType1(AbstractType):
|
|
||||||
field1 = UnmountedType(MyType)
|
|
||||||
|
|
||||||
class MyAbstractType2(MyAbstractType1):
|
|
||||||
field2 = UnmountedType(MyType)
|
|
||||||
|
|
||||||
assert list(MyAbstractType2._meta.fields.keys()) == ['field1', 'field2']
|
|
||||||
assert not hasattr(MyAbstractType1, 'field1')
|
|
||||||
assert not hasattr(MyAbstractType2, 'field2')
|
|
|
@ -1,6 +1,5 @@
|
||||||
|
|
||||||
|
|
||||||
from ..abstracttype import AbstractType
|
|
||||||
from ..argument import Argument
|
from ..argument import Argument
|
||||||
from ..enum import Enum
|
from ..enum import Enum
|
||||||
from ..field import Field
|
from ..field import Field
|
||||||
|
@ -296,7 +295,7 @@ def test_stringifies_simple_types():
|
||||||
|
|
||||||
|
|
||||||
def test_does_not_mutate_passed_field_definitions():
|
def test_does_not_mutate_passed_field_definitions():
|
||||||
class CommonFields(AbstractType):
|
class CommonFields(object):
|
||||||
field1 = String()
|
field1 = String()
|
||||||
field2 = String(id=String())
|
field2 = String(id=String())
|
||||||
|
|
||||||
|
@ -307,12 +306,8 @@ def test_does_not_mutate_passed_field_definitions():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
assert TestObject1._meta.fields == TestObject2._meta.fields
|
assert TestObject1._meta.fields == TestObject2._meta.fields
|
||||||
assert CommonFields._meta.fields == {
|
|
||||||
'field1': String(),
|
|
||||||
'field2': String(id=String()),
|
|
||||||
}
|
|
||||||
|
|
||||||
class CommonFields(AbstractType):
|
class CommonFields(object):
|
||||||
field1 = String()
|
field1 = String()
|
||||||
field2 = String()
|
field2 = String()
|
||||||
|
|
||||||
|
@ -323,8 +318,3 @@ def test_does_not_mutate_passed_field_definitions():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
assert TestInputObject1._meta.fields == TestInputObject2._meta.fields
|
assert TestInputObject1._meta.fields == TestInputObject2._meta.fields
|
||||||
|
|
||||||
assert CommonFields._meta.fields == {
|
|
||||||
'field1': String(),
|
|
||||||
'field2': String(),
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
|
|
||||||
from ..abstracttype import AbstractType
|
|
||||||
from ..field import Field
|
from ..field import Field
|
||||||
from ..argument import Argument
|
from ..argument import Argument
|
||||||
from ..inputfield import InputField
|
from ..inputfield import InputField
|
||||||
|
@ -80,7 +79,7 @@ def test_generate_inputobjecttype_as_argument():
|
||||||
|
|
||||||
|
|
||||||
def test_generate_inputobjecttype_inherit_abstracttype():
|
def test_generate_inputobjecttype_inherit_abstracttype():
|
||||||
class MyAbstractType(AbstractType):
|
class MyAbstractType(object):
|
||||||
field1 = MyScalar(MyType)
|
field1 = MyScalar(MyType)
|
||||||
|
|
||||||
class MyInputObjectType(InputObjectType, MyAbstractType):
|
class MyInputObjectType(InputObjectType, MyAbstractType):
|
||||||
|
@ -91,7 +90,7 @@ def test_generate_inputobjecttype_inherit_abstracttype():
|
||||||
|
|
||||||
|
|
||||||
def test_generate_inputobjecttype_inherit_abstracttype_reversed():
|
def test_generate_inputobjecttype_inherit_abstracttype_reversed():
|
||||||
class MyAbstractType(AbstractType):
|
class MyAbstractType(object):
|
||||||
field1 = MyScalar(MyType)
|
field1 = MyScalar(MyType)
|
||||||
|
|
||||||
class MyInputObjectType(MyAbstractType, InputObjectType):
|
class MyInputObjectType(MyAbstractType, InputObjectType):
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from ..abstracttype import AbstractType
|
|
||||||
from ..field import Field
|
from ..field import Field
|
||||||
from ..interface import Interface
|
from ..interface import Interface
|
||||||
from ..objecttype import ObjectType
|
from ..objecttype import ObjectType
|
||||||
|
@ -89,7 +88,7 @@ def test_ordered_fields_in_objecttype():
|
||||||
|
|
||||||
|
|
||||||
def test_generate_objecttype_inherit_abstracttype():
|
def test_generate_objecttype_inherit_abstracttype():
|
||||||
class MyAbstractType(AbstractType):
|
class MyAbstractType(object):
|
||||||
field1 = MyScalar()
|
field1 = MyScalar()
|
||||||
|
|
||||||
class MyObjectType(ObjectType, MyAbstractType):
|
class MyObjectType(ObjectType, MyAbstractType):
|
||||||
|
@ -103,7 +102,7 @@ def test_generate_objecttype_inherit_abstracttype():
|
||||||
|
|
||||||
|
|
||||||
def test_generate_objecttype_inherit_abstracttype_reversed():
|
def test_generate_objecttype_inherit_abstracttype_reversed():
|
||||||
class MyAbstractType(AbstractType):
|
class MyAbstractType(object):
|
||||||
field1 = MyScalar()
|
field1 = MyScalar()
|
||||||
|
|
||||||
class MyObjectType(MyAbstractType, ObjectType):
|
class MyObjectType(MyAbstractType, ObjectType):
|
||||||
|
|
|
@ -23,9 +23,9 @@ def get_base_fields(bases, _as=None):
|
||||||
Get all the fields in the given bases
|
Get all the fields in the given bases
|
||||||
'''
|
'''
|
||||||
fields = OrderedDict()
|
fields = OrderedDict()
|
||||||
from ..types import AbstractType, Interface
|
from ..types import Interface
|
||||||
# We allow inheritance in AbstractTypes and Interfaces but not ObjectTypes
|
# We allow inheritance in AbstractTypes and Interfaces but not ObjectTypes
|
||||||
inherited_bases = (AbstractType, Interface)
|
inherited_bases = (Interface)
|
||||||
for base in bases:
|
for base in bases:
|
||||||
if base in inherited_bases or not issubclass(base, inherited_bases):
|
if base in inherited_bases or not issubclass(base, inherited_bases):
|
||||||
continue
|
continue
|
||||||
|
|
Loading…
Reference in New Issue
Block a user