Index: sitescripts/filterhits/test/db_tests.py |
diff --git a/sitescripts/filterhits/test/db_tests.py b/sitescripts/filterhits/test/db_tests.py |
index 31e3dcfd6e681a420a3df62bcaf71548bf5fb401..96aa0590d846da3b8a685f10af899c3873c1f341 100644 |
--- a/sitescripts/filterhits/test/db_tests.py |
+++ b/sitescripts/filterhits/test/db_tests.py |
@@ -1,7 +1,7 @@ |
# coding: utf-8 |
# This file is part of the Adblock Plus web scripts, |
-# Copyright (C) 2006-2014 Eyeo GmbH |
+# Copyright (C) 2006-2015 Eyeo GmbH |
# |
# Adblock Plus is free software: you can redistribute it and/or modify |
# it under the terms of the GNU General Public License version 3 as |
@@ -28,10 +28,9 @@ class DbTestCase(unittest.TestCase): |
def clear_rows(self): |
if self.db: |
- db.write("DELETE FROM filters;") |
+ db.write(self.db, "DELETE FROM filters") |
def setUp(self): |
- db.disconnect() |
try: |
self.config = get_config() |
self.db = db.connect( |
@@ -43,34 +42,32 @@ class DbTestCase(unittest.TestCase): |
self.clear_rows() |
def tearDown(self): |
- self.clear_rows() |
- db.disconnect() |
+ if self.db: |
+ self.clear_rows() |
+ self.db.close() |
+ self.db = None |
def test_query_and_write(self): |
if not self.db: |
raise unittest.SkipTest("Not connected to test DB.") |
- insert_sql = """INSERT INTO `filters` (filter, md5) |
- VALUES ('%s', UNHEX(MD5(filter)));""" |
- select_sql = "SELECT filter FROM filters ORDER BY filter ASC;" |
+ insert_sql = """INSERT INTO `filters` (filter, sha1) |
+ VALUES (%s, UNHEX(SHA1(filter)))""" |
+ select_sql = "SELECT filter FROM filters ORDER BY filter ASC" |
# Table should be empty to start with |
- self.assertEqual(db.query(select_sql), ()) |
+ self.assertEqual(db.query(self.db, select_sql), ()) |
# Write some data and query it back |
- db.write(insert_sql % "something") |
- self.assertEqual(db.query(select_sql), ((u"something",),)) |
+ db.write(self.db, ((insert_sql, "something"),)) |
+ self.assertEqual(db.query(self.db, select_sql), ((u"something",),)) |
# Write an array of SQL strings |
- db.write([insert_sql % "a", insert_sql % "b", insert_sql % "c"]) |
- self.assertEqual(db.query(select_sql), ((u"a",), (u"b",), (u"c",), (u"something",))) |
- # Write an array of concatinated SQL strings |
- db.write([insert_sql % "d" + insert_sql % "e"]) |
- self.assertEqual(db.query(select_sql), ((u"a",), (u"b",), (u"c",), (u"d",), (u"e",), |
- (u"something",))) |
+ db.write(self.db, ((insert_sql, "a"), (insert_sql, "b"), (insert_sql, "c"))) |
+ self.assertEqual(db.query(self.db, select_sql), ((u"a",), (u"b",), (u"c",), (u"something",))) |
# Write a sequence of SQL but roll back when a problem arrises |
with self.assertRaises(MySQLdb.ProgrammingError): |
- db.write([insert_sql % "f" + insert_sql % "g", insert_sql % "h", "GFDGks"]) |
- self.assertEqual(db.query(select_sql), ((u"a",), (u"b",), (u"c",), (u"d",), (u"e",), |
- (u"something",))) |
+ db.write(self.db, ((insert_sql, "f"), (insert_sql, "g"), (insert_sql, "h"), |
+ ("GFDGks",))) |
+ self.assertEqual(db.query(self.db, select_sql), ((u"a",), (u"b",), (u"c",), (u"something",))) |
if __name__ == '__main__': |
unittest.main() |