Ejemplo n.º 1
0
def test_int_coerce_result():
    assert Int.coerce_result(True) is 1
    assert Int.coerce_result(4.9) is 4
    assert Int.coerce_result(None) is None

    with pytest.raises(ValueError):
        Int.coerce_result('2.0')
Ejemplo n.º 2
0
def test_field__get_args():
    field_object = FieldObject(
        None,
        ('characters', ManyRelatedField(Character, types=List(String))),
        None,
    )
    assert field_object.get_args() == (('types', List(String)), )
    field_object = FieldObject(
        None,
        ('characters', ManyRelatedField(Episode, types=Int())),
        None,
    )
    assert field_object.get_args() == (('types', Int()), )
Ejemplo n.º 3
0
def test_field__get_args():
    field_object = Field(
        None,
        ('characters',
         ManyRelatedField(Character, arguments={'types': List(String)})),
        None,
    )
    assert field_object.get_args() == (('types', List(String)), )
    field_object = Field(
        None,
        ('characters', ManyRelatedField(Character, arguments={'types': Int()
                                                              })),
        None,
    )
    assert field_object.get_args() == (('types', Int()), )
Ejemplo n.º 4
0
class QueryRoot(Object):
    hero = RelatedField(Character, null=False)
    episodes = ManyRelatedField(Episode,
                                arguments={'number': List(Int(null=False))})
    episode = RelatedField(Episode,
                           arguments={'number': Int(null=False)},
                           null=False)

    def get_hero(self):
        return CharacterModel.objects.get(name='R2-D2')

    def get_episodes(self, number):
        episodes = EpisodeModel.objects.all()
        if number:
            episodes = episodes.filter(number__in=list(number))
        return episodes.order_by('number')

    def get_episode(self, number):
        return EpisodeModel.objects.get(number=number)
Ejemplo n.º 5
0
def test_get_resolver_args_coercion_error():
    field = CharField(arguments={'foo': Int()})
    selection = mock.MagicMock()
    argument = mock.Mock()
    argument.name = 'foo'
    argument.value = 'bar'
    selection.arguments = [argument]
    obj = mock.MagicMock()
    field.bind(selection, obj)

    with pytest.raises(GraphQLError):
        field.get_resolver_args()
Ejemplo n.º 6
0
class QueryRoot(Object):
    hero = RelatedField(Character)
    episodes = ManyRelatedField(Episode)
    episode = RelatedField(Episode, arguments={'number': Int()})

    def get_hero(self):
        return CharacterModel.objects.get(name='R2-D2')

    def get_episodes(self):
        return EpisodeModel.objects.order_by('number')

    def get_episode(self, number):
        return EpisodeModel.objects.get(number=number)
Ejemplo n.º 7
0
def test_type__list__get_ofType():
    type_object = Type(None, List(Character), None)
    assert type_object.get_ofType() == Character
    type_object = Type(None, List(Int(null=False)), None)
    assert type_object.get_ofType() == NonNull(Int())
class QueryRootWithNestedArgs(Object):
    nested = CharField(
        arguments={'arg': List(List(Int(null=False), null=False), null=False)})

    def get_nested(self, arg):
        return 1
Ejemplo n.º 9
0
def test_int_coerce_input():
    assert Int.coerce_input(-12) == -12
    assert Int.coerce_input(None) is None

    with pytest.raises(ValueError):
        Int.coerce_input('2')

    with pytest.raises(ValueError):
        Int.coerce_input(True)

    with pytest.raises(ValueError):
        Int.coerce_input(2.0)

    max_int = (2**31) - 1
    assert Int.coerce_input(max_int) == max_int

    with pytest.raises(ValueError):
        Int.coerce_input(max_int + 1)

    min_int = -2**31
    assert Int.coerce_input(min_int) == min_int

    with pytest.raises(ValueError):
        Int.coerce_input(min_int - 1)