-
Notifications
You must be signed in to change notification settings - Fork 20
/
test_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.@**@kmorales0@nhs.uk@**@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.@**@dstanley1@ucsd.edu@**@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.@**@bwright2@smh.com.au@**@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.@**@dburns3@hp.com@**@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.@**@ajohnson4@seattletimes.com@**@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.@**@mcook5@gizmodo.com@**@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.@**@skelly6@free.fr@**@Male@**@179.36.98.41@**@*@@*8@**@Alan@**@Sed ante. Vivamus tortor. Duis mattis egestas metus.@**@ahenry7@symantec.com@**@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.@**@rmcdonald8@unesco.org@**@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.@**@tstone9@github.com@**@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.","kmorales0@nhs.uk","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.","dstanley1@ucsd.edu","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.","bwright2@smh.com.au","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.","dburns3@hp.com","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.","ajohnson4@seattletimes.com","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.","mcook5@gizmodo.com","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.","skelly6@free.fr","Male","179.36.98.41",""
"8","Alan","Sed ante. Vivamus tortor. Duis mattis egestas metus.","ahenry7@symantec.com","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.","rmcdonald8@unesco.org","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.","tstone9@github.com","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