def test_nested_missing(): data = dict( flim="Flim") validator = V.nested( flim=( V.to_unicode(), V.not_empty()), flam=V.to_unicode()) with py.test.raises(V.Invalid) as e: validator(data) errors = e.value.unpack_errors() assert errors == dict(flam="key 'flam' is missing") with py.test.raises(V.Invalid) as e: validator(None) errors = e.value.unpack_errors() assert errors == dict( flam="key 'flam' is missing", flim="key 'flim' is missing") validator = V.nested( flim=V.to_unicode(), flam=V.all_of( V.to_unicode(), is_in_context())) with py.test.raises(V.Invalid) as e: validator(data) errors = e.value.unpack_errors() assert errors == dict(flam="key 'flam' is missing")
def test_nested_schema(): nested_validators = dict(foo=V.to_unicode(), bar=V.nested(flim=V.to_unicode(), flam=V.to_unicode())) schema = V.Schema(nested_validators) data = dict(foo="Foo", bar=dict(flim="Flim", flam="Flam")) assert schema(data) == data
def test_nested(): data = dict(flim="Flim", flam="Flam", bubble="Bubble") expected = dict(flim="Flim", flam="Flam") validator = V.nested(flim=V.to_unicode(), flam=V.to_unicode()) assert validator(data) == expected assert validator.__name__ == "nested" validator = V.nested(flim=V.to_unicode(), flam=V.all_of(V.to_unicode(), is_in_context())) assert validator(data, context=dict(Flam=1)) == expected
def test_nested_schema(): nested_validators = dict( foo=V.to_unicode(), bar=V.nested( flim=V.to_unicode(), flam=V.to_unicode())) schema = V.Schema(nested_validators) data = dict( foo="Foo", bar=dict( flim="Flim", flam="Flam")) assert schema(data) == data
def test_nested_with_bad_data(): validator = V.nested(flam=V.to_unicode(), flim=V.is_integer()) data = dict(flim="Flim", flam="Flam") with py.test.raises(V.Invalid) as e: validator(data) errors = e.value.unpack_errors() assert errors['flim'] == "not an integer" validator = V.nested( foo=V.nested(flam=V.to_unicode(), flim=V.is_integer())) data = dict(foo=dict(flim="Flim", flam="Flam")) with py.test.raises(V.Invalid) as e: validator(data) errors = e.value.unpack_errors() assert errors['foo']['flim'] == "not an integer"
def test_to_unicode(): v = V.to_unicode(msg='cats') assert v.__name__ == "to_unicode" assert v(u"brisbane") == u"brisbane" assert v(1) == u"1" for t in [ u'parrots', 'parrots', 1, object(), None, ]: assert isinstance(v(t), unicode) u = u"\N{GREEK CAPITAL LETTER OMEGA} my gawd" s = u.encode('utf-8') assert v(s) == u with py.test.raises(V.Invalid) as e: v = V.to_unicode(encoding='ascii', msg='cats') v(s) assert e.value.unpack_errors() == {None: "cats"}
def test_nested(): data = dict( flim="Flim", flam="Flam", bubble="Bubble") expected = dict( flim="Flim", flam="Flam") validator = V.nested( flim=V.to_unicode(), flam=V.to_unicode()) assert validator(data) == expected assert validator.__name__ == "nested" validator = V.nested( flim=V.to_unicode(), flam=V.all_of( V.to_unicode(), is_in_context())) assert validator(data, context=dict(Flam=1)) == expected
def test_nested_missing(): data = dict(flim="Flim") validator = V.nested(flim=(V.to_unicode(), V.not_empty()), flam=V.to_unicode()) with py.test.raises(V.Invalid) as e: validator(data) errors = e.value.unpack_errors() assert errors == dict(flam="key 'flam' is missing") with py.test.raises(V.Invalid) as e: validator(None) errors = e.value.unpack_errors() assert errors == dict(flam="key 'flam' is missing", flim="key 'flim' is missing") validator = V.nested(flim=V.to_unicode(), flam=V.all_of(V.to_unicode(), is_in_context())) with py.test.raises(V.Invalid) as e: validator(data) errors = e.value.unpack_errors() assert errors == dict(flam="key 'flam' is missing")
def test_nested_with_bad_data(): validator = V.nested( flam=V.to_unicode(), flim=V.is_integer()) data = dict( flim="Flim", flam="Flam") with py.test.raises(V.Invalid) as e: validator(data) errors = e.value.unpack_errors() assert errors['flim'] == "not an integer" validator = V.nested( foo=V.nested( flam=V.to_unicode(), flim=V.is_integer())) data = dict( foo=dict( flim="Flim", flam="Flam")) with py.test.raises(V.Invalid) as e: validator(data) errors = e.value.unpack_errors() assert errors['foo']['flim'] == "not an integer"
def test_errors(): schema = V.Schema(dict(foo=(V.to_unicode(msg="foo can't be converted"), V.not_empty(msg="foo is empty")), bar=(V.is_integer(msg="bar isn't an integer"), V.not_empty(msg="bar is empty"))), msg="Check the errors and try again. Moron.") with py.test.raises(V.Invalid) as e: data = schema(dict(foo=None, bar=None)) expected = { None: 'Check the errors and try again. Moron.', 'bar': "bar isn't an integer", 'foo': 'foo is empty' } result = e.value.unpack_errors() assert result == expected
def test_errors(): schema = V.Schema( dict( foo=( V.to_unicode(msg="foo can't be converted"), V.not_empty(msg="foo is empty")), bar=( V.is_integer(msg="bar isn't an integer"), V.not_empty(msg="bar is empty"))), msg="Check the errors and try again. Moron.") with py.test.raises(V.Invalid) as e: data = schema(dict(foo=None, bar=None)) expected = { None: 'Check the errors and try again. Moron.', 'bar': "bar isn't an integer", 'foo': 'foo is empty'} result = e.value.unpack_errors() assert result == expected
def test_to_unicode(): v=V.to_unicode(msg='cats') assert v(u"brisbane")==u"brisbane" u=u"\N{GREEK CAPITAL LETTER OMEGA} my gawd" s=u.encode('utf-8') assert v(s)==u