Ejemplo n.º 1
0
def test_get_data_errors_simple():
    assert get_data_errors({'a': 'foobar'},
                           [('a', int)]) == ['Field "a" should be int']
    assert get_data_errors({'a': 'foobar'}, [('a', {
        text: text
    })]) == ['Field "a" should be dict']
    assert get_data_errors({'a': {
        'foobar': 2
    }}, [('a', {
        text: text
    })]) == ['Values of "a" should be ' + text.__name__]
    assert get_data_errors({'a': {
        2: 'foobar'
    }}, [('a', {
        text: text
    })]) == ['Keys of "a" should be ' + text.__name__]
Ejemplo n.º 2
0
def test_get_data_errors_with_known_subkey():
    assert get_data_errors({'sub': {'int_item': 42}}, field_types) == []
    assert get_data_errors({'sub': {'text_item': ''}}, field_types) == []
Ejemplo n.º 3
0
def test_get_data_errors_with_unknown_subkey():
    assert get_data_errors({'sub': {
        'unknown': 42
    }}, field_types) == ['Unknown key name: "sub.unknown"']
Ejemplo n.º 4
0
def test_get_data_errors_sub_dict():
    assert get_data_errors({'a': 1},
                           field_types) == ['Field "a" should be dict']
    assert get_data_errors({'a': {
        'b': 1
    }}, field_types) == ['Field "a.b" should be dict']
Ejemplo n.º 5
0
def test_get_data_errors_unknown_keys():
    assert get_data_errors({'a': 'b'}, []) == ['Unknown key name: "a"']
    assert get_data_errors({'x': 1}, field_types) == ['Unknown key name: "x"']
Ejemplo n.º 6
0
def test_get_data_errors_invalid_type_specifier():
    with pytest.raises(ValueError):
        get_data_errors({'x': 1}, [('x', set('abc'))])
Ejemplo n.º 7
0
def test_get_data_errors_edge_cases():
    assert get_data_errors({}, []) == []
    assert get_data_errors({}, field_types) == []
Ejemplo n.º 8
0
def test_get_data_errors_with_sub_text_error():
    not_ok = dict(ok_data, sub={'text_item': 42})
    assert get_data_errors(not_ok, field_types) == [
        'Field "sub.text_item" should be ' + text.__name__
    ]
Ejemplo n.º 9
0
def test_get_data_errors_with_dict_error():
    not_ok = dict(ok_data, dict_item='hello')
    assert get_data_errors(
        not_ok, field_types) == ['Field "dict_item" should be dict']
Ejemplo n.º 10
0
def test_get_data_errors_with_list_item_error():
    not_ok = dict(ok_data, list_item_int_value=['not int'])
    assert get_data_errors(not_ok, field_types) == [
        'Values of "list_item_int_value" should be int'
    ]
Ejemplo n.º 11
0
def test_get_data_errors_with_list_error():
    not_ok = dict(ok_data, list_item_int_value=42)
    assert get_data_errors(
        not_ok, field_types) == ['Field "list_item_int_value" should be list']
Ejemplo n.º 12
0
def test_get_data_errors_with_ok_data():
    assert get_data_errors(ok_data, field_types) == []