summaryrefslogtreecommitdiffstats
path: root/tests/auto/qsqldriver
diff options
context:
space:
mode:
authorJo Asplin <jo.asplin@nokia.com>2011-09-02 12:08:47 +0200
committerJo Asplin <jo.asplin@nokia.com>2011-09-06 09:32:15 +0200
commit0a2282f97a2d74ac52d6ba8f33b1eaba0df3668d (patch)
tree200205f22bb65825550e829cbeb241e82a20db69 /tests/auto/qsqldriver
parent5e9f410eb67175b0f1abe95cabdb64dd30a6e7d7 (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.pro27
-rw-r--r--tests/auto/qsqldriver/tst_qsqldriver.cpp230
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"