@@ -36,7 +36,7 @@ def test_table_rows_insertion(plain_client):
3636 ]
3737
3838 result = plain_client .execute ('INSERT INTO stocks VALUES (?,?,?,?,?)' , * purchases , execute_many = True )
39- expected_result = {'error' : None , 'items' : [], 'row_count ' : 27 }
39+ expected_result = {'error' : None , 'items' : [], 'rowcount ' : 27 }
4040 assert result == expected_result
4141
4242
@@ -45,13 +45,89 @@ def test_table_not_present(plain_client):
4545 assert type (result ) == dict
4646
4747
48+ def test_select_before_update (plain_client ):
49+ purchases = [['2006-03-28' , 'BUY' , 'IBM' , 1000 , 45.00 ],
50+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
51+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
52+ ('2006-03-28' , 'BUY' , 'IBM' , 1000 , 45.00 ),
53+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
54+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
55+ ('2006-03-28' , 'BUY' , 'IBM' , 1000 , 45.00 ),
56+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
57+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
58+ ('2006-03-28' , 'BUY' , 'IBM' , 1000 , 45.00 ),
59+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
60+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
61+ ('2006-03-28' , 'BUY' , 'IBM' , 1000 , 45.00 ),
62+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
63+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
64+ ('2006-03-28' , 'BUY' , 'IBM' , 1000 , 45.00 ),
65+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
66+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
67+ ('2006-03-28' , 'BUY' , 'IBM' , 1000 , 45.00 ),
68+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
69+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
70+ ('2006-03-28' , 'BUY' , 'IBM' , 1000 , 45.00 ),
71+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
72+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
73+ ('2006-03-28' , 'BUY' , 'IBM' , 1000 , 45.00 ),
74+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
75+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
76+ ]
77+ result = plain_client .execute ('SELECT * FROM stocks' )
78+ expected_result = {'error' : None , 'items' : [list (purchase ) for purchase in purchases ], 'lastrowid' : 27 }
79+ assert result == expected_result
80+
81+
82+ def test_update (plain_client ):
83+ args = ('IBM' ,)
84+ result = plain_client .execute ('UPDATE stocks SET price = 480 where symbol = ?' , * args )
85+ expected_result = {'error' : None , 'items' : [], 'lastrowid' : 27 , 'rowcount' : 9 }
86+ assert result == expected_result
87+
88+
89+ def test_select (plain_client ):
90+
91+ purchases = [['2006-03-28' , 'BUY' , 'IBM' , 1000 , 480.00 ],
92+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
93+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
94+ ('2006-03-28' , 'BUY' , 'IBM' , 1000 , 480.00 ),
95+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
96+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
97+ ('2006-03-28' , 'BUY' , 'IBM' , 1000 , 480.00 ),
98+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
99+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
100+ ('2006-03-28' , 'BUY' , 'IBM' , 1000 , 480.00 ),
101+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
102+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
103+ ('2006-03-28' , 'BUY' , 'IBM' , 1000 , 480.00 ),
104+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
105+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
106+ ('2006-03-28' , 'BUY' , 'IBM' , 1000 , 480.00 ),
107+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
108+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
109+ ('2006-03-28' , 'BUY' , 'IBM' , 1000 , 480.00 ),
110+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
111+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
112+ ('2006-03-28' , 'BUY' , 'IBM' , 1000 , 480.00 ),
113+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
114+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
115+ ('2006-03-28' , 'BUY' , 'IBM' , 1000 , 480.00 ),
116+ ('2006-04-05' , 'BUY' , 'MSFT' , 1000 , 72.00 ),
117+ ('2006-04-06' , 'SELL' , 'XOM' , 500 , 53.00 ),
118+ ]
119+ result = plain_client .execute ('SELECT * FROM stocks' )
120+ expected_result = {'error' : None , 'items' : [list (purchase ) for purchase in purchases ], 'lastrowid' : 27 }
121+ assert result == expected_result
122+
123+
48124def test_sql_script (plain_client ):
49125 script = '''CREATE TABLE users(id INTEGER PRIMARY KEY, name TEXT, phone TEXT);
50126 CREATE TABLE accounts(id INTEGER PRIMARY KEY, description TEXT);
51127
52128 INSERT INTO users(name, phone) VALUES ('John', '5557241'),
53129 ('Adam', '5547874'), ('Jack', '5484522');'''
54- expected_result = {"error" : None , 'items' : []}
130+ expected_result = {"error" : None , 'items' : [], 'lastrowid' : 27 }
55131 result = plain_client .execute (script , execute_script = True )
56132 assert expected_result == result
57133
0 commit comments