@@ -138,11 +138,13 @@ def test_commit(self):
138
138
db2 = SQL (self .db_url )
139
139
self .assertEqual (db2 .execute ("SELECT val FROM cs50" ), [{"val" : "foo" }])
140
140
141
+ """
141
142
def test_double_begin(self):
142
143
self.db.execute("BEGIN")
143
144
with self.assertRaises(RuntimeError):
144
145
self.db.execute("BEGIN")
145
146
self.db.execute("ROLLBACK")
147
+ """
146
148
147
149
def test_rollback (self ):
148
150
self .db .execute ("BEGIN" )
@@ -176,6 +178,7 @@ def tearDownClass(self):
176
178
if not str (e ).startswith ("(1051" ):
177
179
raise e
178
180
181
+
179
182
class MySQLTests (SQLTests ):
180
183
@classmethod
181
184
def setUpClass (self ):
@@ -186,6 +189,7 @@ def setUpClass(self):
186
189
def setUp (self ):
187
190
self .db .execute ("CREATE TABLE cs50 (id INTEGER NOT NULL AUTO_INCREMENT, val VARCHAR(16), bin BLOB, PRIMARY KEY (id))" )
188
191
192
+
189
193
class PostgresTests (SQLTests ):
190
194
@classmethod
191
195
def setUpClass (self ):
@@ -199,7 +203,9 @@ def setUp(self):
199
203
def test_cte (self ):
200
204
self .assertEqual (self .db .execute ("WITH foo AS ( SELECT 1 AS bar ) SELECT bar FROM foo" ), [{"bar" : 1 }])
201
205
206
+
202
207
class SQLiteTests (SQLTests ):
208
+
203
209
@classmethod
204
210
def setUpClass (self ):
205
211
open ("test.db" , "w" ).close ()
@@ -251,23 +257,39 @@ def test_qmark(self):
251
257
self .assertEqual (self .db .execute ("SELECT * FROM foo" ), [{"firstname" : "bar" , "lastname" : "baz" }])
252
258
self .db .execute ("DELETE FROM foo" )
253
259
254
- self .db .execute ("INSERT INTO foo VALUES (?, ? )" , [ "bar" , "baz" ] )
260
+ self .db .execute ("INSERT INTO foo VALUES (?)" , ( "bar" , "baz" ) )
255
261
self .assertEqual (self .db .execute ("SELECT * FROM foo" ), [{"firstname" : "bar" , "lastname" : "baz" }])
256
262
self .db .execute ("DELETE FROM foo" )
257
263
264
+ self .db .execute ("INSERT INTO foo VALUES (?)" , ["bar" , "baz" ])
265
+ self .assertEqual (self .db .execute ("SELECT * FROM foo" ), [{"firstname" : "bar" , "lastname" : "baz" }])
266
+ self .db .execute ("DELETE FROM foo" )
258
267
259
- self .db .execute ("INSERT INTO foo VALUES (?,?)" , "bar" , "baz" )
268
+ self .db .execute ("INSERT INTO foo VALUES (?, ?)" , ["bar" , "baz" ])
269
+ self .assertEqual (self .db .execute ("SELECT * FROM foo" ), [{"firstname" : "bar" , "lastname" : "baz" }])
270
+ self .db .execute ("DELETE FROM foo" )
271
+
272
+ self .db .execute ("INSERT INTO foo VALUES (?, ?)" , "bar" , "baz" )
260
273
self .assertEqual (self .db .execute ("SELECT * FROM foo" ), [{"firstname" : "bar" , "lastname" : "baz" }])
261
274
self .db .execute ("DELETE FROM foo" )
262
275
263
276
self .db .execute ("CREATE TABLE bar (firstname STRING)" )
277
+
278
+ self .db .execute ("INSERT INTO bar VALUES (?)" , "baz" )
279
+ self .db .execute ("INSERT INTO bar VALUES (?)" , "qux" )
280
+ self .assertEqual (self .db .execute ("SELECT * FROM bar WHERE firstname IN (?)" , ("baz" , "qux" )), [{"firstname" : "baz" }, {"firstname" : "qux" }])
281
+ self .db .execute ("DELETE FROM bar" )
282
+
283
+ self .db .execute ("INSERT INTO bar VALUES (?)" , "baz" )
284
+ self .db .execute ("INSERT INTO bar VALUES (?)" , "qux" )
285
+ self .assertEqual (self .db .execute ("SELECT * FROM bar WHERE firstname IN (?)" , ["baz" , "qux" ]), [{"firstname" : "baz" }, {"firstname" : "qux" }])
286
+ self .db .execute ("DELETE FROM bar" )
287
+
264
288
self .db .execute ("INSERT INTO bar VALUES (?)" , "baz" )
265
289
self .assertEqual (self .db .execute ("SELECT * FROM bar" ), [{"firstname" : "baz" }])
266
290
267
291
self .assertRaises (RuntimeError , self .db .execute , "INSERT INTO foo VALUES (?)" )
268
292
self .assertRaises (RuntimeError , self .db .execute , "INSERT INTO foo VALUES (?, ?)" )
269
- # self.assertRaises(RuntimeError, self.db.execute, "INSERT INTO foo VALUES (?)", ('bar', 'baz'))
270
- # self.assertRaises(RuntimeError, self.db.execute, "INSERT INTO foo VALUES (?)", ['bar', 'baz'])
271
293
self .assertRaises (RuntimeError , self .db .execute , "INSERT INTO foo VALUES (?, ?)" , 'bar' , 'baz' , 'qux' )
272
294
self .assertRaises (RuntimeError , self .db .execute , "INSERT INTO foo VALUES (?, ?)" , ('bar' , 'baz' , 'qux' ))
273
295
self .assertRaises (RuntimeError , self .db .execute , "INSERT INTO foo VALUES (?, ?)" , ['bar' , 'baz' , 'qux' ])
0 commit comments