SQLite delitem implementation

darcs-hash:20060201075358-86b55-07095573f5b30ad78829bdc933d7561c8a088294.gz
This commit is contained in:
David Rousselie
2006-02-01 08:53:58 +01:00
parent 0cf07b0a25
commit 52c6cb2aa9
3 changed files with 24 additions and 13 deletions

View File

@@ -60,7 +60,7 @@ class Storage(UserDict):
if regexp.search(key)] if regexp.search(key)]
def __delitem__(self, pk_tuple): def __delitem__(self, pk_tuple):
# print "Deleting " + "#".join(map(str, pk_tuple)) #print "Deleting " + "#".join(map(str, pk_tuple))
del self._registered[str("#".join(map(str, pk_tuple)))] del self._registered[str("#".join(map(str, pk_tuple)))]
def get_spool_dir(self): def get_spool_dir(self):
@@ -276,4 +276,12 @@ class SQLiteStorage(Storage):
def __delitem__(self, pk_tuple): def __delitem__(self, pk_tuple):
Storage.__delitem__(self, pk_tuple) Storage.__delitem__(self, pk_tuple)
# TODO cursor = self.__connection.cursor()
cursor.execute("""
delete from account where jid = ? and name = ?
""",
(pk_tuple[0],
pk_tuple[1]))
self.__connection.commit()
cursor.close()

View File

@@ -73,9 +73,9 @@ if __name__ == '__main__':
# test_support.run_suite(mail_connection_suite) # test_support.run_suite(mail_connection_suite)
# test_support.run_suite(pop3_connection_suite) # test_support.run_suite(pop3_connection_suite)
# test_support.run_suite(imap_connection_suite) # test_support.run_suite(imap_connection_suite)
# test_support.run_suite(mc_factory_suite) #test_support.run_suite(mc_factory_suite)
# test_support.run_suite(component_suite) #test_support.run_suite(component_suite)
# test_support.run_suite(component2_suite) #test_support.run_suite(component2_suite)
#test_support.run_suite(storage_suite) #test_support.run_suite(storage_suite)
#test_support.run_suite(sqlitestorage_suite) #test_support.run_suite(sqlitestorage_suite)
#test_support.run_suite(dbmstorage_suite) #test_support.run_suite(dbmstorage_suite)

View File

@@ -34,14 +34,6 @@ class Storage_TestCase(unittest.TestCase):
self.assertTrue(os.access(spool_dir, os.F_OK)) self.assertTrue(os.access(spool_dir, os.F_OK))
self.assertEquals(self._storage.spool_dir, spool_dir) self.assertEquals(self._storage.spool_dir, spool_dir)
os.removedirs(spool_dir) os.removedirs(spool_dir)
# TODO
class SQLiteStorage_TestCase(unittest.TestCase):
def setUp(self):
self._storage = SQLiteStorage()
def tearDown(self):
pass
class DBMStorage_TestCase(unittest.TestCase): class DBMStorage_TestCase(unittest.TestCase):
def setUp(self): def setUp(self):
@@ -209,3 +201,14 @@ class SQLiteStorage_TestCase(DBMStorage_TestCase):
self._account1) self._account1)
self.assertEquals(loaded_storage[("test@localhost", "account2")], self.assertEquals(loaded_storage[("test@localhost", "account2")],
self._account2) self._account2)
def test_del_sync_get(self):
self._storage[("test@localhost", "account1")] = self._account1
self._storage[("test@localhost", "account2")] = self._account2
del self._storage[("test@localhost", "account2")]
loaded_storage = SQLiteStorage(nb_pk_fields = 2, spool_dir = "./spool/test")
self.assertEquals(len(loaded_storage.keys()),
1)
self.assertEquals(loaded_storage[("test@localhost", "account1")],
self._account1)