Nut/tests/auto/tst_quuid/tst_uuid.cpp

70 lines
1.2 KiB
C++
Raw Normal View History

2018-10-15 22:34:50 +08:00
#include <QtTest>
#include <QJsonDocument>
#include <QSqlError>
#include <QDebug>
#include <QElapsedTimer>
#include "consts.h"
2019-02-10 22:46:21 +08:00
#include "tst_uuid.h"
2018-10-15 22:34:50 +08:00
#include "query.h"
#include "tableset.h"
#include "tablemodel.h"
#include "test.h"
2019-02-10 22:46:21 +08:00
UuidTest::UuidTest(QObject *parent) : QObject(parent)
2018-10-15 22:34:50 +08:00
{
}
2019-02-10 22:46:21 +08:00
void UuidTest::initTestCase()
2018-10-15 22:34:50 +08:00
{
2019-02-16 21:36:38 +08:00
REGISTER(Test);
REGISTER(TestDatabase);
2018-10-15 22:34:50 +08:00
2019-02-10 22:46:21 +08:00
QFile::remove(DATABASE);
2018-10-15 22:34:50 +08:00
db.setDriver(DRIVER);
db.setHostName(HOST);
2019-02-10 22:46:21 +08:00
db.setDatabaseName(DATABASE);
2018-10-15 22:34:50 +08:00
db.setUserName(USERNAME);
db.setPassword(PASSWORD);
bool ok = db.open();
2020-08-10 15:51:43 +08:00
db.tests()->query().remove();
2019-02-10 22:46:21 +08:00
uuid = QUuid::createUuid();
2018-10-15 22:34:50 +08:00
QTEST_ASSERT(ok);
}
2019-02-10 22:46:21 +08:00
void UuidTest::save()
2018-10-15 22:34:50 +08:00
{
TIC();
2019-06-18 23:37:03 +08:00
auto t = Nut::create<Test>();
t->setId(QUuid::createUuid());
t->setUuid(uuid);
db.tests()->append(t);
2019-02-10 22:46:21 +08:00
int n = db.saveChanges();
2018-10-15 22:34:50 +08:00
TOC();
2019-02-10 22:46:21 +08:00
QTEST_ASSERT(n == 1);
}
2018-10-15 22:34:50 +08:00
2019-02-10 22:46:21 +08:00
void UuidTest::restore()
{
TIC();
2020-08-10 15:51:43 +08:00
auto test = db.tests()->query().first();
2018-10-15 22:34:50 +08:00
TOC();
2019-02-10 22:46:21 +08:00
QTEST_ASSERT(!test->id().isNull());
QTEST_ASSERT(test->uuid() == uuid);
2018-10-15 22:34:50 +08:00
}
2019-02-10 22:46:21 +08:00
void UuidTest::cleanupTestCase()
2018-10-15 22:34:50 +08:00
{
2019-02-28 16:10:41 +08:00
// qDeleteAll(Nut::TableModel::allModels());
2018-10-15 22:34:50 +08:00
// Nut::DatabaseModel::deleteAllModels();
}
2019-02-10 22:46:21 +08:00
QTEST_MAIN(UuidTest)