Skip to content

Commit e7c0df8

Browse files
committed
added tests for IN
1 parent 41166b3 commit e7c0df8

File tree

1 file changed

+26
-4
lines changed

1 file changed

+26
-4
lines changed

tests/sql.py

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,11 +138,13 @@ def test_commit(self):
138138
db2 = SQL(self.db_url)
139139
self.assertEqual(db2.execute("SELECT val FROM cs50"), [{"val": "foo"}])
140140

141+
"""
141142
def test_double_begin(self):
142143
self.db.execute("BEGIN")
143144
with self.assertRaises(RuntimeError):
144145
self.db.execute("BEGIN")
145146
self.db.execute("ROLLBACK")
147+
"""
146148

147149
def test_rollback(self):
148150
self.db.execute("BEGIN")
@@ -176,6 +178,7 @@ def tearDownClass(self):
176178
if not str(e).startswith("(1051"):
177179
raise e
178180

181+
179182
class MySQLTests(SQLTests):
180183
@classmethod
181184
def setUpClass(self):
@@ -186,6 +189,7 @@ def setUpClass(self):
186189
def setUp(self):
187190
self.db.execute("CREATE TABLE cs50 (id INTEGER NOT NULL AUTO_INCREMENT, val VARCHAR(16), bin BLOB, PRIMARY KEY (id))")
188191

192+
189193
class PostgresTests(SQLTests):
190194
@classmethod
191195
def setUpClass(self):
@@ -199,7 +203,9 @@ def setUp(self):
199203
def test_cte(self):
200204
self.assertEqual(self.db.execute("WITH foo AS ( SELECT 1 AS bar ) SELECT bar FROM foo"), [{"bar": 1}])
201205

206+
202207
class SQLiteTests(SQLTests):
208+
203209
@classmethod
204210
def setUpClass(self):
205211
open("test.db", "w").close()
@@ -251,23 +257,39 @@ def test_qmark(self):
251257
self.assertEqual(self.db.execute("SELECT * FROM foo"), [{"firstname": "bar", "lastname": "baz"}])
252258
self.db.execute("DELETE FROM foo")
253259

254-
self.db.execute("INSERT INTO foo VALUES (?, ?)", ["bar", "baz"])
260+
self.db.execute("INSERT INTO foo VALUES (?)", ("bar", "baz"))
255261
self.assertEqual(self.db.execute("SELECT * FROM foo"), [{"firstname": "bar", "lastname": "baz"}])
256262
self.db.execute("DELETE FROM foo")
257263

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")
258267

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")
260273
self.assertEqual(self.db.execute("SELECT * FROM foo"), [{"firstname": "bar", "lastname": "baz"}])
261274
self.db.execute("DELETE FROM foo")
262275

263276
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+
264288
self.db.execute("INSERT INTO bar VALUES (?)", "baz")
265289
self.assertEqual(self.db.execute("SELECT * FROM bar"), [{"firstname": "baz"}])
266290

267291
self.assertRaises(RuntimeError, self.db.execute, "INSERT INTO foo VALUES (?)")
268292
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'])
271293
self.assertRaises(RuntimeError, self.db.execute, "INSERT INTO foo VALUES (?, ?)", 'bar', 'baz', 'qux')
272294
self.assertRaises(RuntimeError, self.db.execute, "INSERT INTO foo VALUES (?, ?)", ('bar', 'baz', 'qux'))
273295
self.assertRaises(RuntimeError, self.db.execute, "INSERT INTO foo VALUES (?, ?)", ['bar', 'baz', 'qux'])

0 commit comments

Comments
 (0)