Created new unittest model.
Separete unittest for module.
Only run unittest for compiled modules.
Reviewer: Marcelo Lira <marcelo.lira@openbossa.org>,
Luciano Wolf <luciano.wolf@openbossa.org>
This commit is contained in:
parent
471486732b
commit
ab918abc1e
211 changed files with 241 additions and 79 deletions
1
tests/QtSql/CMakeLists.txt
Normal file
1
tests/QtSql/CMakeLists.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
PYSIDE_TEST(qsqldatabaseandqueries_test.py)
|
||||
56
tests/QtSql/qsqldatabaseandqueries_test.py
Executable file
56
tests/QtSql/qsqldatabaseandqueries_test.py
Executable file
|
|
@ -0,0 +1,56 @@
|
|||
#!/usr/bin/python
|
||||
'''Test cases for QtSql database creation, destruction and queries'''
|
||||
|
||||
import sys
|
||||
import unittest
|
||||
|
||||
from PySide import QtSql
|
||||
from PySide.QtCore import QVariant, QString
|
||||
|
||||
class SqlDatabaseCreationDestructionAndQueries(unittest.TestCase):
|
||||
'''Test cases for QtSql database creation, destruction and queries'''
|
||||
|
||||
def setUp(self):
|
||||
#Acquire resources
|
||||
self.assertFalse(QtSql.QSqlDatabase.drivers().isEmpty(), "installed Qt has no DB drivers")
|
||||
self.assertTrue("QSQLITE" in QtSql.QSqlDatabase.drivers(), "\"QSQLITE\" driver not available in this Qt version")
|
||||
self.db = QtSql.QSqlDatabase.addDatabase("QSQLITE")
|
||||
self.db.setDatabaseName(":memory:")
|
||||
self.assertTrue(self.db.open())
|
||||
|
||||
def tearDown(self):
|
||||
#Release resources
|
||||
self.db.close()
|
||||
QtSql.QSqlDatabase.removeDatabase(":memory:")
|
||||
del self.db
|
||||
|
||||
def testTableCreationAndDestruction(self):
|
||||
#Test table creation and destruction
|
||||
query = QtSql.QSqlQuery()
|
||||
query.exec_("CREATE TABLE dummy(id int primary key, dummyfield varchar(20))")
|
||||
query.exec_("DROP TABLE dummy")
|
||||
query.clear()
|
||||
|
||||
def testTableInsertionAndRetrieval(self):
|
||||
#Test table creation, insertion and retrieval
|
||||
query = QtSql.QSqlQuery()
|
||||
query.exec_("CREATE TABLE person(id int primary key, "
|
||||
"firstname varchar(20), lastname varchar(20))")
|
||||
query.exec_("INSERT INTO person VALUES(101, 'George', 'Harrison')")
|
||||
query.prepare("INSERT INTO person (id, firstname, lastname) "
|
||||
"VALUES (:id, :firstname, :lastname)")
|
||||
query.bindValue(":id", QVariant(102))
|
||||
query.bindValue(":firstname", QVariant("John"))
|
||||
query.bindValue(":lastname", QVariant("Lennon"))
|
||||
query.exec_()
|
||||
|
||||
lastname = ''
|
||||
query.exec_("SELECT lastname FROM person where id=101")
|
||||
self.assertTrue(query.isActive())
|
||||
query.next()
|
||||
lastname = query.value(0).toString()
|
||||
self.assertEqual(lastname, 'Harrison')
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue