def test_must_clean_validated_input_before_returning(self): validated_input = is_dict(schema={"phone": is_str(required=True)})({ "phone": " +233-23-23283234" }) assert validated_input == {"phone": "+233-23-23283234"}
def test_must_return_newly_validated_input(self): validated_input = is_dict(schema={"phone": is_str(required=True)})({ "phone": "+233-23-23283234" }) assert validated_input == {"phone": "+233-23-23283234"}
def test_must_validate_input_against_schema(self, schema, input_dict, expected_errors): with pytest.raises(ValidationException) as exc: is_dict(schema=schema)(input_dict) assert expected_errors == exc.value.errors
def test_must_raise_validation_error_when_input_is_not_dict(self, input): with pytest.raises(ValidationException) as exc_info: is_dict(schema={"phone": is_str(required=True)})(input) assert exc_info.value.errors == "expected a dictionary but got {}".format( type(input))
def test_must_return_default_value_when_input_is_none(self): address = {"phone": "+233-282123233"} assert is_dict(required=False, default=address, schema={})(None) == address
def test_must_raise_validation_exception_when_input_is_none_but_was_required( self): with pytest.raises(ValidationException) as exc: is_dict(required=True, schema={})(None) assert exc.value.args[0] == "required but was missing"