Ejemplo n.º 1
0
def test_validate_csv_missing_columns():
    with assert_raises(delim.CSVError) as cm:
        fields = [
            delim.CSVField('Foo'),
            delim.CSVField('Bar'),
            delim.CSVField('Baz')
        ]
        delim.parse_csv_data("Foo", fields, True)
    assert_true("missing: Bar, Baz", cm.exception.message)
Ejemplo n.º 2
0
def test_skip_blank_ones():
    data = "Name,Bar\n,,\n\n1,2\n,,\n\n"
    fields = [delim.CSVField("Name"), delim.CSVField("Bar")]
    results = delim.parse_csv_data(data, fields, skip_if=lambda row: not row.name)
    assert_equals(1, len(results), results)
    assert_equals("1", results[0].name)
    assert_equals("2", results[0].bar)
Ejemplo n.º 3
0
def test_parse_csv_data_mappings():
    data = "Name,Bar\n1,2\n3,4"
    fields = [delim.CSVField("Name"), delim.CSVField("Bar")]
    results = delim.parse_csv_data(data, fields)
    assert_equals(2, len(results))
    assert_equals("1", results[0].name)
    assert_equals("2", results[0].bar)
Ejemplo n.º 4
0
def test_parse_csv_data_mappings():
    data = "Name,Bar\n1,2\n3,4"
    fields = [delim.CSVField('Name'), delim.CSVField('Bar')]
    results = delim.parse_csv_data(data, fields)
    assert_equals(2, len(results))
    assert_equals("1", results[0].name)
    assert_equals("2", results[0].bar)
Ejemplo n.º 5
0
def test_skip_blank_ones():
    data = "Name,Bar\n,,\n\n1,2\n,,\n\n"
    fields = [delim.CSVField('Name'), delim.CSVField('Bar')]
    results = delim.parse_csv_data(data,
                                   fields,
                                   skip_if=lambda row: not row.name)
    assert_equals(1, len(results), results)
    assert_equals("1", results[0].name)
    assert_equals("2", results[0].bar)
Ejemplo n.º 6
0
def test_parse_csv_data():
    # utf-8
    with codecs.open("tests/utf8.csv", "r", "utf-8") as f:
        delim.parse_csv_data(f.read())
    # iso8859
    with codecs.open("tests/win_encoded.csv", "r", "iso8859") as f:
        delim.parse_csv_data(f.read())

    # Open the files naively, much like it was coming from a web server.
    with open("tests/win_encoded.csv", "r") as f:
        delim.parse_csv_data(f.read())

    with open("tests/utf8.csv", "r") as f:
        delim.parse_csv_data(f.read())
Ejemplo n.º 7
0
def test_parse_csv_data():
    # utf-8
    with codecs.open('tests/utf8.csv', 'r', 'utf-8') as f:
        delim.parse_csv_data(f.read())
    # iso8859
    with codecs.open('tests/win_encoded.csv', 'r', 'iso8859') as f:
        delim.parse_csv_data(f.read())

    # Open the files naively, much like it was coming from a web server.
    with open('tests/win_encoded.csv', 'r') as f:
        delim.parse_csv_data(f.read())

    with open('tests/utf8.csv', 'r') as f:
        delim.parse_csv_data(f.read())
Ejemplo n.º 8
0
def test_parse_csv_data_no_mappings():
    data = "Name,Bar\n1,2\n3,4"
    results = delim.parse_csv_data(data)
    assert_equals(2, len(results))
    assert_equals([("Name", "1"), ("Bar", "2")], results[0])
Ejemplo n.º 9
0
def test_validate_on_duplicates():
    data = "Name,Bar\n1,2\n1,2"
    fields = [delim.CSVField("Name"), delim.CSVField("Bar")]
    with assert_raises(delim.CSVError) as cm:
        delim.parse_csv_data(data, fields, unique_on="name")
    assert_true("duplicate rows with name: 1", cm.exception.message)
Ejemplo n.º 10
0
def test_validate_csv_missing_columns():
    with assert_raises(delim.CSVError) as cm:
        fields = [delim.CSVField("Foo"), delim.CSVField("Bar"), delim.CSVField("Baz")]
        delim.parse_csv_data("Foo", fields, True)
    assert_true("missing: Bar, Baz", cm.exception.message)
Ejemplo n.º 11
0
def test_validate_csv_empty():
    with assert_raises(delim.CSVError) as cm:
        delim.parse_csv_data("", [])
    assert_equals("CSV appears to be empty", cm.exception.message)
Ejemplo n.º 12
0
def test_validate_csv_unknown_columns():
    data = "Foo,Bar,Baz"
    with assert_raises(delim.CSVError) as cm:
        delim.parse_csv_data(data, [], True)
    assert_true("unkown: Foo, Bar, Baz", cm.exception.message)
Ejemplo n.º 13
0
def test_parse_csv_data_no_mappings():
    data = "Name,Bar\n1,2\n3,4"
    results = delim.parse_csv_data(data)
    assert_equals(2, len(results))
    assert_equals([("Name", "1"), ("Bar", "2")], results[0])
Ejemplo n.º 14
0
def test_validate_on_duplicates():
    data = "Name,Bar\n1,2\n1,2"
    fields = [delim.CSVField('Name'), delim.CSVField('Bar')]
    with assert_raises(delim.CSVError) as cm:
        delim.parse_csv_data(data, fields, unique_on="name")
    assert_true("duplicate rows with name: 1", cm.exception.message)
Ejemplo n.º 15
0
def test_validate_csv_empty():
    with assert_raises(delim.CSVError) as cm:
        delim.parse_csv_data("", [])
    assert_equals("CSV appears to be empty", cm.exception.message)
Ejemplo n.º 16
0
def test_validate_csv_unknown_columns():
    data = "Foo,Bar,Baz"
    with assert_raises(delim.CSVError) as cm:
        delim.parse_csv_data(data, [], True)
    assert_true("unkown: Foo, Bar, Baz", cm.exception.message)