From 8d6cb75b8ec2ce7b0dc9c6ada950932f5aa570ff Mon Sep 17 00:00:00 2001 From: gryf Date: Sun, 19 Jul 2009 18:16:47 +0000 Subject: [PATCH] Added tests for common DB actions --- test/unit/dbcommon_test.py | 134 +++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 test/unit/dbcommon_test.py diff --git a/test/unit/dbcommon_test.py b/test/unit/dbcommon_test.py new file mode 100644 index 0000000..f6fdf76 --- /dev/null +++ b/test/unit/dbcommon_test.py @@ -0,0 +1,134 @@ +""" + Project: pyGTKtalog + Description: Tests for DataBase class. + Type: test + Author: Roman 'gryf' Dobosz, gryf73@gmail.com + Created: 2009-07-19 +""" +import unittest +import os +from tempfile import mkstemp + +from pygtktalog.dbcommon import DataBase, create_database + + +class TestDataBase(unittest.TestCase): + """ + Class responsible for database connection and schema creation + """ + + def tearDown(self): + """ + Tear down method. Close db connection. + """ + DataBase.close() + + def test_connect(self): + """ + Test connection to database. Memory and file method will be tested. + """ + DataBase.filename = ":memory:" + cursor = DataBase.connect() + self.assertTrue(cursor) + self.assertTrue(cursor == DataBase.connect()) + DataBase.close() + + file_desc, dbfilename = mkstemp() + os.close(file_desc) + + DataBase.filename = dbfilename + cursor = DataBase.connect() + + self.assertTrue(cursor) + self.assertTrue(cursor == DataBase.connect()) + DataBase.close() + + os.unlink(dbfilename) + + def test_close(self): + """ + Test close method + """ + DataBase.filename = ":memory:" + DataBase.connect() + + self.assertFalse(DataBase.cur is None) + self.assertFalse(DataBase.conn is None) + self.assertFalse(DataBase.filename is None) + + result = DataBase.close() + + self.assertTrue(result, "Should ne True, but was %s" % str(result)) + self.assertTrue(DataBase.cur is None) + self.assertTrue(DataBase.conn is None) + self.assertTrue(DataBase.filename is None) + + self.assertFalse(DataBase.close()) + + def test_get_cursor(self): + """ + Test get_cursor() method. + """ + cur = DataBase.get_cursor() + self.assertEqual(cur, None, "Cursor should be None") + + DataBase.filename = ":memory:" + DataBase.connect() + + cur = DataBase.get_cursor() + self.assertNotEqual(cur, None, "Cursor shouldn't be None") + + def test_get_cconnection(self): + """ + Test get_connection() method. + """ + conn = DataBase.get_connection() + self.assertEqual(conn, None, "Connection object should be None") + + DataBase.filename = ":memory:" + DataBase.connect() + + conn = DataBase.get_connection() + self.assertNotEqual(conn, None, "Connection object shouldn't be None") + + def test_check_schema(self): + """ + Test check_schema() method. + """ + + self.assertFalse(DataBase.check_schema()) + + DataBase.filename = ":memory:" + DataBase.connect() + + self.assertFalse(DataBase.check_schema()) + + DataBase.create_schema(DataBase.cur, DataBase.conn) + + self.assertTrue(DataBase.check_schema()) + + def test_create_schema(self): + """ + Test create_schema() method. + """ + self.assertFalse(DataBase.create_schema(DataBase.cur, DataBase.conn)) + + DataBase.filename = ":memory:" + DataBase.connect() + + result = DataBase.create_schema(DataBase.cur, DataBase.conn) + self.assertTrue(result, "%s" % result) + + self.assertTrue(DataBase.check_schema()) + + def test_create_database(self): + """ + Test create_database function + """ + create_database() + self.assertTrue(True) + + +if __name__ == "__main__": + os.chdir(os.path.join(os.path.abspath(os.path.dirname(__file__)), "../")) + unittest.main()