diff options
author | Jo Asplin <jo.asplin@nokia.com> | 2011-09-02 12:08:47 +0200 |
---|---|---|
committer | Jo Asplin <jo.asplin@nokia.com> | 2011-09-06 09:32:15 +0200 |
commit | 0a2282f97a2d74ac52d6ba8f33b1eaba0df3668d (patch) | |
tree | 200205f22bb65825550e829cbeb241e82a20db69 /tests/auto/qsqldriver | |
parent | 5e9f410eb67175b0f1abe95cabdb64dd30a6e7d7 (diff) |
Moved sql autotests into new directory structure
Task-number: QTBUG-21253
Change-Id: Id20605e1247b080e775968b56ea5f56462ca4c71
Reviewed-on: http://codereview.qt.nokia.com/4127
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Diffstat (limited to 'tests/auto/qsqldriver')
-rw-r--r-- | tests/auto/qsqldriver/qsqldriver.pro | 27 | ||||
-rw-r--r-- | tests/auto/qsqldriver/tst_qsqldriver.cpp | 230 |
2 files changed, 0 insertions, 257 deletions
diff --git a/tests/auto/qsqldriver/qsqldriver.pro b/tests/auto/qsqldriver/qsqldriver.pro deleted file mode 100644 index c02d74a527..0000000000 --- a/tests/auto/qsqldriver/qsqldriver.pro +++ /dev/null @@ -1,27 +0,0 @@ -load(qttest_p4) -SOURCES += tst_qsqldriver.cpp - -QT += sql - -wince*: { - plugFiles.files = ../../../plugins/sqldrivers - plugFiles.path = . - DEPLOYMENT += plugFiles - LIBS += -lws2 -} else { - win32-g++* { - LIBS += -lws2_32 - } else:win32 { - LIBS += ws2_32.lib - } -} - -symbian { - qt_not_deployed { - contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { - sqlite.path = /sys/bin - sqlite.files = sqlite3.dll - DEPLOYMENT += sqlite - } - } -} diff --git a/tests/auto/qsqldriver/tst_qsqldriver.cpp b/tests/auto/qsqldriver/tst_qsqldriver.cpp deleted file mode 100644 index 6e47c24078..0000000000 --- a/tests/auto/qsqldriver/tst_qsqldriver.cpp +++ /dev/null @@ -1,230 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - -#include <QtTest/QtTest> -#include <QtSql/QtSql> - -#include "../qsqldatabase/tst_databases.h" - - - -//TESTED_CLASS= -//TESTED_FILES= - -class tst_QSqlDriver : public QObject -{ - Q_OBJECT - -public: - void recreateTestTables(QSqlDatabase); - - tst_Databases dbs; - -public slots: - void initTestCase_data(); - void initTestCase(); - void cleanupTestCase(); - void init(); - void cleanup(); - -private slots: - void record(); - void primaryIndex(); -}; - - -void tst_QSqlDriver::initTestCase_data() -{ - dbs.open(); - if (dbs.fillTestTable() == 0) { - qWarning("NO DATABASES"); - QSKIP("No database drivers are available in this Qt configuration", SkipAll); - } -} - -void tst_QSqlDriver::recreateTestTables(QSqlDatabase db) -{ - QSqlQuery q(db); - const QString relTEST1(qTableName("relTEST1", __FILE__)); - - if(tst_Databases::isPostgreSQL(db)) - QVERIFY_SQL( q, exec("set client_min_messages='warning'")); - - tst_Databases::safeDropTable( db, relTEST1 ); - - QVERIFY_SQL( q, exec("create table " + relTEST1 + - " (id int not null primary key, name varchar(20), title_key int, another_title_key int)")); - QVERIFY_SQL( q, exec("insert into " + relTEST1 + " values(1, 'harry', 1, 2)")); - QVERIFY_SQL( q, exec("insert into " + relTEST1 + " values(2, 'trond', 2, 1)")); - QVERIFY_SQL( q, exec("insert into " + relTEST1 + " values(3, 'vohi', 1, 2)")); - QVERIFY_SQL( q, exec("insert into " + relTEST1 + " values(4, 'boris', 2, 2)")); -} - -void tst_QSqlDriver::initTestCase() -{ - foreach (const QString &dbname, dbs.dbNames) - recreateTestTables(QSqlDatabase::database(dbname)); -} - -void tst_QSqlDriver::cleanupTestCase() -{ - foreach (const QString &dbName, dbs.dbNames) { - QSqlDatabase db = QSqlDatabase::database(dbName); - tst_Databases::safeDropTable( db, qTableName( "relTEST1", __FILE__ ) ); - } - dbs.close(); -} - -void tst_QSqlDriver::init() -{ -} - -void tst_QSqlDriver::cleanup() -{ -} - -void tst_QSqlDriver::record() -{ - QFETCH_GLOBAL(QString, dbName); - QSqlDatabase db = QSqlDatabase::database(dbName); - CHECK_DATABASE(db); - - QString tablename(qTableName("relTEST1", __FILE__)); - QStringList fields; - fields << "id" << "name" << "title_key" << "another_title_key"; - - //check we can get records using an unquoted mixed case table name - QSqlRecord rec = db.driver()->record(tablename); - QCOMPARE(rec.count(), 4); - - if (db.driverName().startsWith("QIBASE")|| db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2")) - for(int i = 0; i < fields.count(); ++i) - fields[i] = fields[i].toUpper(); - - for (int i = 0; i < fields.count(); ++i) - QCOMPARE(rec.fieldName(i), fields[i]); - - if (db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2")) - tablename = tablename.toUpper(); - else if (db.driverName().startsWith("QPSQL")) - tablename = tablename.toLower(); - - if(!db.driverName().startsWith("QODBC") && !db.databaseName().contains("PostgreSql")) { - //check we can get records using a properly quoted table name - rec = db.driver()->record(db.driver()->escapeIdentifier(tablename,QSqlDriver::TableName)); - QCOMPARE(rec.count(), 4); - } - - for (int i = 0; i < fields.count(); ++i) - QCOMPARE(rec.fieldName(i), fields[i]); - - if( db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2")) - tablename = tablename.toLower(); - else if (db.driverName().startsWith("QPSQL")) - tablename = tablename.toUpper(); - - //check that we can't get records using incorrect tablename casing that's been quoted - rec = db.driver()->record(db.driver()->escapeIdentifier(tablename,QSqlDriver::TableName)); - if (tst_Databases::isMySQL(db) - || db.driverName().startsWith("QSQLITE") - || db.driverName().startsWith("QTDS") - || tst_Databases::isSqlServer(db) - || tst_Databases::isMSAccess(db)) - QCOMPARE(rec.count(), 4); //mysql, sqlite and tds will match - else - QCOMPARE(rec.count(), 0); - -} - -void tst_QSqlDriver::primaryIndex() -{ - QFETCH_GLOBAL(QString, dbName); - QSqlDatabase db = QSqlDatabase::database(dbName); - CHECK_DATABASE(db); - - QString tablename(qTableName("relTEST1", __FILE__)); - //check that we can get primary index using unquoted mixed case table name - QSqlIndex index = db.driver()->primaryIndex(tablename); - QCOMPARE(index.count(), 1); - - if( db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2")) - QCOMPARE(index.fieldName(0), QString::fromLatin1("ID")); - else - QCOMPARE(index.fieldName(0), QString::fromLatin1("id")); - - - //check that we can get the primary index using a quoted tablename - if( db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2")) - tablename = tablename.toUpper(); - else if (db.driverName().startsWith("QPSQL")) - tablename = tablename.toLower(); - - if(!db.driverName().startsWith("QODBC") && !db.databaseName().contains("PostgreSql")) { - index = db.driver()->primaryIndex(db.driver()->escapeIdentifier(tablename, QSqlDriver::TableName)); - QCOMPARE(index.count(), 1); - } - if( db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2")) - QCOMPARE(index.fieldName(0), QString::fromLatin1("ID")); - else - QCOMPARE(index.fieldName(0), QString::fromLatin1("id")); - - - - //check that we can not get the primary index using a quoted but incorrect table name casing - if( db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2")) - tablename = tablename.toLower(); - else if (db.driverName().startsWith("QPSQL")) - tablename = tablename.toUpper(); - - index = db.driver()->primaryIndex(db.driver()->escapeIdentifier(tablename, QSqlDriver::TableName)); - if (tst_Databases::isMySQL(db) - || db.driverName().startsWith("QSQLITE") - || db.driverName().startsWith("QTDS") - || tst_Databases::isSqlServer(db) - || tst_Databases::isMSAccess(db)) - QCOMPARE(index.count(), 1); //mysql will always find the table name regardless of casing - else - QCOMPARE(index.count(), 0); -} - -QTEST_MAIN(tst_QSqlDriver) -#include "tst_qsqldriver.moc" |