Ejemplo n.º 1
0
def test_from_dict_cast():
    field = BaseField(field_type=int, multi=False)
    x = '10'
    assert field.from_dict(x) == int(x)
    field = BaseField(field_type=int, multi=True)
    x = ['10', '11', '12']
    assert field.from_dict(x) == [int(a) for a in x]
Ejemplo n.º 2
0
 class Doc(BaseDocument):
     _doctype = 'test'
     _index = 'test'
     _fields = {
         'multiple': BaseField(field_type=int, multi=True),
         'simple': BaseField(field_type=int)
     }
Ejemplo n.º 3
0
def test_to_dict_return_same_value():
    field = BaseField(field_type=int, multi=True, field_name="test")
    x = [10, 11]
    assert field.to_dict(x) is x
    field = BaseField(field_type=int, multi=False, field_name="test")
    x = 10
    assert field.to_dict(x) is x
Ejemplo n.º 4
0
def test_raise_when_multi_fild_type_missmatch():
    field = BaseField(field_type=int, multi=True, field_name="test")
    with pytest.raises(FieldTypeMismatch) as ex:
        field.validate([10, 'asdf'])
    assert str(
        ex.value
    ) == "`test` expected `<type 'int'>`, actual `<type 'str'>`"  # noqa
Ejemplo n.º 5
0
 class Doc(BaseDocument):
     _doctype = 'test'
     _index = 'test'
     _strict = True
     _fields = {
         'multiple': BaseField(field_type=int, multi=True,
                               field_name='multiple'),
         'simple': BaseField(field_type=int, field_name='simple')
     }
Ejemplo n.º 6
0
def test_raise_when_required_fild_has_empty_value():
    field = BaseField(required=True, field_name="test")
    with pytest.raises(RequiredField) as ex:
        field.validate(None)
    assert str(ex.value) == "test"
    field = BaseField(required=False, field_name="test")
    field.validate(None)
Ejemplo n.º 7
0
def test_from_dict_cast():
    field = BaseField(field_type=int, multi=False)
    x = '10'
    assert field.from_dict(x) == int(x)
    field = BaseField(field_type=int, multi=True)
    x = ['10', '11', '12']
    assert field.from_dict(x) == [int(a) for a in x]
Ejemplo n.º 8
0
def test_to_dict_return_same_value():
    field = BaseField(field_type=int, multi=True, field_name="test")
    x = [10, 11]
    assert field.to_dict(x) is x
    field = BaseField(field_type=int, multi=False, field_name="test")
    x = 10
    assert field.to_dict(x) is x
Ejemplo n.º 9
0
def test_raise_when_required_fild_has_empty_value():
    field = BaseField(required=True, field_name="test")
    with pytest.raises(RequiredField) as ex:
        field.validate(None)
    assert str(ex.value) == "test"
    field = BaseField(required=False, field_name="test")
    field.validate(None)
Ejemplo n.º 10
0
def test_raise_when_nom_iterable_is_passed_to_multi():
    field = BaseField(field_type=int, required=False, field_name="test")
    field.validate(10)
    with pytest.raises(FieldTypeMismatch) as ex:
        field.validate([10])
    assert str(
        ex.value
    ) == "`test` expected `<type 'int'>`, actual `<type 'list'>`"  # noqa
Ejemplo n.º 11
0
def test_base_field_set_attr():
    field = BaseField(field_type=int, multi=False, asdf=10)
    assert field.asdf == 10
Ejemplo n.º 12
0
def test_raise_when_multi_fild_is_not_iterable():
    field = BaseField(field_type=int, multi=True, field_name="test")
    field.validate([10])
    with pytest.raises(InvalidMultiField) as ex:
        field.validate(10)
    assert str(ex.value) == "test"
Ejemplo n.º 13
0
def test_raise_when_nom_iterable_is_passed_to_multi():
    field = BaseField(field_type=int, required=False, field_name="test")
    field.validate(10)
    with pytest.raises(FieldTypeMismatch) as ex:
        field.validate([10])
    assert str(ex.value) == "`test` expected `<type 'int'>`, actual `<type 'list'>`" # noqa
Ejemplo n.º 14
0
def test_raise_when_multi_fild_type_missmatch():
    field = BaseField(field_type=int, multi=True, field_name="test")
    with pytest.raises(FieldTypeMismatch) as ex:
        field.validate([10, 'asdf'])
    assert str(ex.value) == "`test` expected `<type 'int'>`, actual `<type 'str'>`" # noqa
Ejemplo n.º 15
0
def test_raise_when_multi_fild_is_not_iterable():
    field = BaseField(field_type=int, multi=True, field_name="test")
    field.validate([10])
    with pytest.raises(InvalidMultiField) as ex:
        field.validate(10)
    assert str(ex.value) == "test"
Ejemplo n.º 16
0
 class OneField(with_metaclass(ModelMetaclass, object)):
     pass
     field = BaseField(field_type=int, required=False, multi=False)
Ejemplo n.º 17
0
 class OneField(object):
     __metaclass__ = ModelMetaclass
     field = BaseField(field_type=int, required=False, multi=False)