예제 #1
0
def test_IntegerValidator_valid():
    field = number_field()
    validator = IntegerValidator(min_value=-10, max_value=10)
    assert validator(field, 10) == 10
    assert validator(field, 0) == 0
    assert validator(field, -10) == -10
    assert validator(field, "-5") == -5
예제 #2
0
def test_NumberValidator_valid():
    field = number_field()
    validator = NumberValidator(min_value=-10, max_value=10, precision=2)
    assert validator(field, 10) == 10
    assert validator(field, -10) == -10
    assert validator(field, 5.55) == 5.55
    assert validator(field, 5.555) == 5.55
예제 #3
0
 class MyClass:
     str_field: str = field(metadata={
         "format": "uuid",
         "description": "String field"
     })
     int_field: int = number_field(min_value=0,
                                   max_value=100,
                                   description="Int field")
예제 #4
0
def test_NumberValidator_invalid():
    field = number_field()
    validator = NumberValidator(min_value=-10, max_value=10, precision=2)
    with pytest.raises(ValidationError):
        validator(field, 11)
    with pytest.raises(ValidationError):
        validator(field, -11)
    with pytest.raises(ValidationError):
        validator(field, "foo")
    with pytest.raises(ValidationError):
        validator(field, None)
    with pytest.raises(ValidationError):
        validator(field, object())
예제 #5
0
    class MyClass:
        """Test data"""

        str_field: str = data_field(required=True,
                                    format="uuid",
                                    description="String field")
        int_field: int = data_field(format="uint64", description="Int field")
        float_field: float = number_field(description="Float field")
        boolean_field: bool = bool_field(description="Bool field")
        map_field: Dict[str, int] = data_field(description="Dict field")
        free_field: Dict[str, str] = data_field(description="Free field")
        datetime_field: datetime = date_time_field(
            description="Datetime field")
        ref_field: OtherClass = field(metadata={
            "required": True,
            "description": "Ref field"
        },
                                      default=None)
        list_ref_field: List[OtherClass] = data_field(description="List field")
예제 #6
0
def test_number_validator_string():
    field = number_field()
    validator = field.metadata.get(VALIDATOR)
    assert validator(field, "2") == 2
예제 #7
0
class Foo2:
    text: str = fields.str_field(min_length=3, description="Just some text")
    param: Union[str, int] = fields.integer_field(
        description="String accepted but convert to int")
    done: bool = fields.bool_field(description="Is Foo done?")
    value: float = fields.number_field()