def test_very_deep(): validator = dict_validator( first_level=dict_validator(second_level=dict_validator( third_level=dict_validator(fourth_level="ok", ), ), )) validator( dict(first_level=dict(second_level=dict(third_level=dict( fourth_level="ok"))))) with pytest.raises(ValidationError): validator( dict(first_level=dict(second_level=dict(third_level=dict( fourth_level="not ok")))))
def test_0(): validator = dict_validator( name=v.string, secret="43", email=v.string, password=v.string, comment=v.optional(v.string), random_value=v.optional, ) validator({ "name": "", "secret": "43", "email": "kdwqd@cool", "password": "******", #~ "comment": None, "random_value": False, })
def test_string(): validator = dict_validator(name=v.string) validator({"name": "hello"})
def test_string_failure(): validator = dict_validator(name=v.string) with pytest.raises(ValidationError): validator({"name": 40})
def test_regex(): validator = dict_validator(value=v.regex(r".+ .+")) validator({"value": "hello world"})
def test_str(): validator = dict_validator(name=str) validator({"name": "hello"})
def test_bool_with_value_true(): validator = dict_validator(value=bool) validator({"value": True})
def test_tuple_failure(): validator = dict_validator(value=tuple) with pytest.raises(ValidationError): validator({"value": [1, 2]})
def test_false_with_value_0_failure(): validator = dict_validator(value=False) with pytest.raises(ValidationError): validator({"value": 0})
def test_list(): validator = dict_validator(value=list) validator({"value": []})
def test_false_with_value_false(): validator = dict_validator(value=False) validator({"value": False})
def test_true_with_value_3_failure(): validator = dict_validator(value=True) with pytest.raises(ValidationError): validator({"value": 3})
def test_true_with_value_true(): validator = dict_validator(value=True) validator({"value": True})
def test_bool_with_value_0_failure(): validator = dict_validator(value=bool) with pytest.raises(ValidationError): validator({"value": 0})
def test_bool_with_value_false(): validator = dict_validator(value=bool) validator({"value": False})
def test_bytes(): validator = dict_validator(value=bytes) validator({"value": b"hello world"})
def test_list_instance(): validator = dict_validator(value=[]) validator({"value": []})
def test_bytes_failure(): validator = dict_validator(value=bytes) with pytest.raises(ValidationError): validator({"value": "hello world"})
def test_list_instance_failure(): validator = dict_validator(value=[]) with pytest.raises(ValidationError): validator({"value": (0, )})
def test_dict_syntax(): validator = dict_validator({"secret": 43}) validator({"secret": 43})
def test_regex_failure(): validator = dict_validator(value=v.regex(r".+ .+")) with pytest.raises(ValidationError): validator({"value": "helloworld"})
def test_list_instance2(): validator = dict_validator(value=[3, "world", v.string, v.integer]) validator({"value": [3, "world", "hello", 42]})
def test_dict_syntax2(): validator = dict_validator({"secret": v.integer(v.either(43, 45))}) validator({"secret": 43})
def test_tuple(): validator = dict_validator(value=tuple) validator({"value": (3, 4)})
def test_deeper_with_dict_validator_syntax(): validator = dict_validator(first_level=dict_validator(second_level=43, )) validator({"first_level": {"second_level": 43}})
def test_either(): validator = dict_validator(secret=v.either(v.string("9"), 0)) validator({"secret": 0})
def test_either_failure(): validator = dict_validator(secret=v.either("43", "44")) with pytest.raises(ValidationError): validator({"secret": "40"})