forked from ncvo/charity-commission-extract
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_bcp.py
77 lines (49 loc) · 7 KB
/
test_bcp.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import bcp
import os
def test_convert_bcp(tmpdir):
# test data generated by https://www.mockaroo.com/
test_bcp_str = """1@**@Kathy@**@Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem.@**@[email protected]@**@Female@**@114.233.181.180@**@*@@*2@**@Donna@**@Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis. Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci. Mauris lacinia sapien quis libero.
Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum. Integer a nibh.
In quis justo. Maecenas rhoncus aliquam lacus. Morbi quis tortor id nulla ultrices aliquet.@**@[email protected]@**@Female@**@198.50.214.213@**@*@@*3@**@Beverly@**@Proin eu mi. Nulla ac enim. In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.@**@[email protected]@**@Female@**@149.6.226.5@**@*@@*4@**@Denise@**@Duis aliquam convallis nunc. Proin at turpis a pede posuere nonummy. Integer non velit.
Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque.@**@[email protected]@**@Female@**@121.17.130.178@**@*@@*5@**@Adam@**@Duis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus.
In sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.
Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst.@**@[email protected]@**@Male@**@19.204.146.76@**@*@@*6@**@Matthew@**@Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin risus. Praesent lectus.
Vestibulum quam sapien, varius ut, blandit non, interdum in, ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio. Curabitur convallis.
Duis consequat dui nec nisi volutpat eleifend. Donec ut dolor. Morbi vel lectus in quam fringilla rhoncus.@**@[email protected]@**@Male@**@10.149.180.10@**@*@@*7@**@Steve@**@Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.
Quisque id justo sit amet sapien dignissim vestibulum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est. Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.@**@[email protected]@**@Male@**@179.36.98.41@**@*@@*8@**@Alan@**@Sed ante. Vivamus tortor. Duis mattis egestas metus.@**@[email protected]@**@Male@**@152.129.190.243@**@*@@*9@**@Russell@**@Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet. Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.
Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem.@**@[email protected]@**@Male@**@245.67.108.95@**@*@@*10@**@Theresa@**@Integer tincidunt ante vel ipsum. Praesent blandit lacinia erat. Vestibulum sed magna at nunc commodo placerat.
Praesent blandit. Nam nulla. Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.@**@[email protected]@**@Female@**@74.56.246.168@**@*@@*"""
test_bcp_result_str = """id,first_name,last_name,email,gender,ip_address
"1","Kathy","Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem.","[email protected]","Female","114.233.181.180",""
"2","Donna","Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis. Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci. Mauris lacinia sapien quis libero.
Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum. Integer a nibh.
In quis justo. Maecenas rhoncus aliquam lacus. Morbi quis tortor id nulla ultrices aliquet.","[email protected]","Female","198.50.214.213",""
"3","Beverly","Proin eu mi. Nulla ac enim. In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.","[email protected]","Female","149.6.226.5",""
"4","Denise","Duis aliquam convallis nunc. Proin at turpis a pede posuere nonummy. Integer non velit.
Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque.","[email protected]","Female","121.17.130.178",""
"5","Adam","Duis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus.
In sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.
Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst.","[email protected]","Male","19.204.146.76",""
"6","Matthew","Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin risus. Praesent lectus.
Vestibulum quam sapien, varius ut, blandit non, interdum in, ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio. Curabitur convallis.
Duis consequat dui nec nisi volutpat eleifend. Donec ut dolor. Morbi vel lectus in quam fringilla rhoncus.","[email protected]","Male","10.149.180.10",""
"7","Steve","Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.
Quisque id justo sit amet sapien dignissim vestibulum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est. Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.","[email protected]","Male","179.36.98.41",""
"8","Alan","Sed ante. Vivamus tortor. Duis mattis egestas metus.","[email protected]","Male","152.129.190.243",""
"9","Russell","Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet. Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.
Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem.","[email protected]","Male","245.67.108.95",""
"10","Theresa","Integer tincidunt ante vel ipsum. Praesent blandit lacinia erat. Vestibulum sed magna at nunc commodo placerat.
Praesent blandit. Nam nulla. Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.","[email protected]","Female","74.56.246.168",""
\"\""""
test_col_headers = [
"id",
"first_name",
"last_name",
"email",
"gender",
"ip_address",
]
tempfile = tmpdir.join("test_result.csv").strpath
bcp.convert(test_bcp_str, csvfilename=tempfile, col_headers=test_col_headers)
with open(tempfile, 'r') as test_result:
assert test_result.read() == test_bcp_result_str