Nut/tests/auto/tst_upgrades/tst_upgrades.cpp

89 lines
1.3 KiB
C++
Raw Normal View History

2019-02-14 22:25:53 +08:00
#include <QtTest>
#include "db1.h"
#include "db2.h"
#include "db3.h"
#include "table1.h"
#include "table2.h"
#include "table3.h"
2019-02-16 21:36:38 +08:00
#include "query.h"
2019-02-14 22:25:53 +08:00
#include "tst_upgrades.h"
#include "consts.h"
void Upgrades::initDb(Nut::Database &db)
{
db.setDriver(DRIVER);
db.setHostName(HOST);
db.setDatabaseName(DATABASE);
db.setUserName(USERNAME);
db.setPassword(PASSWORD);
}
Upgrades::Upgrades()
{
}
Upgrades::~Upgrades()
{
}
void Upgrades::initTestCase()
{
QFile::remove(DATABASE);
REGISTER(DB1);
REGISTER(DB2);
REGISTER(DB3);
REGISTER(Table1);
REGISTER(Table2);
REGISTER(Table3);
}
void Upgrades::version1()
{
DB1 db;
initDb(db);
QTEST_ASSERT(db.open());
2020-08-10 15:51:43 +08:00
db.sampleTable()->query().remove();
2019-02-14 22:25:53 +08:00
}
void Upgrades::version2()
{
DB2 db;
initDb(db);
QTEST_ASSERT(db.open());
2019-02-16 21:36:38 +08:00
2019-06-18 23:37:03 +08:00
auto t = Nut::create<Table2>();
t->setStr("0");
db.sampleTable()->append(t);
2019-02-16 21:36:38 +08:00
db.saveChanges();
2019-06-18 23:37:03 +08:00
id = t->id();
2019-02-14 22:25:53 +08:00
}
void Upgrades::version3()
{
DB3 db;
initDb(db);
QTEST_ASSERT(db.open());
2019-02-16 21:36:38 +08:00
auto t = db.sampleTable()->query()
2020-08-10 15:51:43 +08:00
.first();
2019-02-16 21:36:38 +08:00
QTEST_ASSERT(id == t->id());
2019-02-14 22:25:53 +08:00
}
void Upgrades::cleanupTestCase()
{
DB1 db;
initDb(db);
PRINT_FORM(db);
}
2019-02-14 22:25:53 +08:00
QTEST_APPLESS_MAIN(Upgrades)