Ejemplo n.º 1
0
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")
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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"
Ejemplo n.º 6
0
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"}
Ejemplo n.º 7
0
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"}
Ejemplo n.º 8
0
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
Ejemplo n.º 9
0
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")
Ejemplo n.º 10
0
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"
Ejemplo n.º 11
0
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
Ejemplo n.º 12
0
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
Ejemplo n.º 13
0
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