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]
示例#2
0
 class Doc(BaseDocument):
     _doctype = 'test'
     _index = 'test'
     _fields = {
         'multiple': BaseField(field_type=int, multi=True),
         'simple': BaseField(field_type=int)
     }
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
示例#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
示例#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')
     }
示例#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)
示例#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]
示例#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
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)
示例#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
示例#11
0
def test_base_field_set_attr():
    field = BaseField(field_type=int, multi=False, asdf=10)
    assert field.asdf == 10
示例#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"
示例#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
示例#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
示例#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"
示例#16
0
 class OneField(with_metaclass(ModelMetaclass, object)):
     pass
     field = BaseField(field_type=int, required=False, multi=False)
示例#17
0
 class OneField(object):
     __metaclass__ = ModelMetaclass
     field = BaseField(field_type=int, required=False, multi=False)