Exemple #1
0
def test_nested_many():
    validator = V.nested_many(
        V.to_integer())
    data = dict(
        a="1",
        b="2",
        c=3.0)
    expected = dict(
        a=1,
        b=2,
        c=3)
    result = validator(data)
    assert result == expected
    assert validator.__name__ == "nested_many"

    validator = V.nested_many(
        is_in_context())
    data = dict(
        a="flibble",
        b="flamble",
        c="flooble")
    expected = dict(
        a="flibble",
        b="flamble",
        c="flooble")
    result = validator(data, context=['flibble', 'flamble', 'flooble'])
    assert result == expected
Exemple #2
0
def test_nested_many():
    validator = V.nested_many(V.to_integer())
    data = dict(a="1", b="2", c=3.0)
    expected = dict(a=1, b=2, c=3)
    result = validator(data)
    assert result == expected
    assert validator.__name__ == "nested_many"

    validator = V.nested_many(is_in_context())
    data = dict(a="flibble", b="flamble", c="flooble")
    expected = dict(a="flibble", b="flamble", c="flooble")
    result = validator(data, context=['flibble', 'flamble', 'flooble'])
    assert result == expected
Exemple #3
0
def test_nested_many_fail_nested_errors():
    schema = V.Schema(dict(foo=V.nested_many(V.is_integer())))
    data = dict(foo=dict(a=1, b="two", c=3))
    with py.test.raises(V.Invalid) as e:
        result = schema(data)
    errors = e.value.unpack_errors()
    expected = {
        'foo': {
            'b': "not an integer"
        },
        None: "Problems were found in the submitted data."
    }
    assert expected == errors
Exemple #4
0
def test_nested_many_fail():
    validator = V.nested_many(V.is_integer())
    data = dict(a=1, b="two", c=3)

    with py.test.raises(V.Invalid) as e:
        result = validator(data)
    errors = e.value.unpack_errors()
    assert errors['b'] == "not an integer"

    with py.test.raises(V.Invalid) as e:
        result = validator(None)
    errors = e.value.unpack_errors()
    assert errors == {None: "No data found"}
Exemple #5
0
def test_nested_many_fail_nested_errors():
    schema = V.Schema(
        dict(
            foo=V.nested_many(
                V.is_integer())))
    data = dict(
        foo=dict(
            a=1,
            b="two",
            c=3))
    with py.test.raises(V.Invalid) as e:
        result = schema(data)
    errors = e.value.unpack_errors()
    expected = {
        'foo': {'b': "not an integer"},
        None: "Problems were found in the submitted data."}
    assert expected == errors
Exemple #6
0
def test_nested_many_fail():
    validator = V.nested_many(
        V.is_integer())
    data = dict(
        a=1,
        b="two",
        c=3)

    with py.test.raises(V.Invalid) as e:
        result = validator(data)
    errors = e.value.unpack_errors()
    assert errors['b'] == "not an integer"

    with py.test.raises(V.Invalid) as e:
        result = validator(None)
    errors = e.value.unpack_errors()
    assert errors == {None: "No data found"}