forked from ondra/colnod-connector
Merge branch 'refs/heads/master' into feat/unittest-colnod
# Conflicts: # server-sdk # src/colnod/syncmanager.cpp # test/auto/auto.pro
This commit is contained in:
commit
3bb6f24ae1
@ -12,13 +12,9 @@ DatabaseAPI::DatabaseAPI(serversdk::DatabaseManager *dbMan, bool dryMode)
|
||||
mDbMan->setDryMode(dryMode);
|
||||
}
|
||||
|
||||
bool DatabaseAPI::open()
|
||||
bool DatabaseAPI::open(QString host, QString name, QString user, QString password)
|
||||
{
|
||||
return mDbMan->openPostgres(QStringLiteral("192.168.1.94"),
|
||||
QStringLiteral("deloitte"),
|
||||
QStringLiteral("postgres"),
|
||||
QStringLiteral("34rjkciea12"),
|
||||
QStringLiteral("postgres-connection"));
|
||||
return mDbMan->openPostgres(host, name, user, password);
|
||||
}
|
||||
|
||||
bool DatabaseAPI::executeQuery(QSqlQuery &query, const QString &statement)
|
||||
|
||||
@ -20,7 +20,10 @@ class DatabaseAPI : public QObject
|
||||
public:
|
||||
explicit DatabaseAPI(serversdk::DatabaseManager *dbMan, bool dryMode);
|
||||
|
||||
bool open();
|
||||
bool open(QString host = "192.168.1.94",
|
||||
QString name = "deloitte",
|
||||
QString user = "postgres",
|
||||
QString password = "34rjkciea12");
|
||||
|
||||
bool executeQuery(QSqlQuery &query, const QString &statement = QString());
|
||||
|
||||
@ -58,8 +61,9 @@ signals:
|
||||
void error();
|
||||
|
||||
private:
|
||||
bool mDryMode;
|
||||
bool mValid = true;
|
||||
|
||||
bool mDryMode;
|
||||
serversdk::DatabaseManager *mDbMan = nullptr;
|
||||
std::unique_ptr<serversdk::DatabaseUtils> utils;
|
||||
};
|
||||
|
||||
@ -62,14 +62,20 @@ bool SyncManager::startSynchronization()
|
||||
// NOW I HAVE DATA FROM DATABASE
|
||||
|
||||
|
||||
|
||||
colnod->downloadData(Timestamp(syncBegin));
|
||||
connect(colnod.get(), &ColnodAPI::downloadDataFinished, [=](std::shared_ptr<Data> data) {
|
||||
// NOW I HAVE DATA FROM COLNOD
|
||||
if (!data) {
|
||||
qCritical(syncmanager) << "Not possible to get correct data from colnod";
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// NOW I HAVE DATA FROM COLNOD
|
||||
// I can process data
|
||||
qDebug(syncmanager) << "I have colnod and database data";
|
||||
qDebug(syncmanager) << "updated token count" << data->updatedTokens.count();
|
||||
|
||||
});
|
||||
|
||||
return true;
|
||||
|
||||
@ -3,3 +3,4 @@ TEMPLATE = subdirs
|
||||
SUBDIRS += \
|
||||
database/tst_databaseapi.pro \
|
||||
colnod/tst_colnodapi.pro \
|
||||
syncmanager/tst_syncmanager.pro \
|
||||
|
||||
@ -8,13 +8,19 @@ class DatabaseTest : public QObject
|
||||
Q_OBJECT
|
||||
private slots:
|
||||
void open_database_test();
|
||||
|
||||
void open_database_ip_fail_test();
|
||||
void open_database_name_fail_test();
|
||||
void open_database_user_fail_test();
|
||||
void open_database_password_fail_test();
|
||||
void download_data_test();
|
||||
void download_data_fail_test();
|
||||
};
|
||||
|
||||
void DatabaseTest::open_database_test()
|
||||
{
|
||||
serversdk::DatabaseManager dbManager;
|
||||
DatabaseAPI db(&dbManager, false);
|
||||
QVERIFY(db.open());
|
||||
|
||||
// TODO: fix -> databaseAPI must be able to add credentials to check for wrong one or test wrong IP
|
||||
//db.open(user, password, url, etc );
|
||||
@ -23,6 +29,54 @@ void DatabaseTest::open_database_test()
|
||||
// QVERIFY(!db.open(worng ip));
|
||||
}
|
||||
|
||||
void DatabaseTest::open_database_ip_fail_test()
|
||||
{
|
||||
serversdk::DatabaseManager dbManager;
|
||||
DatabaseAPI db(&dbManager, false);
|
||||
QVERIFY(!db.open("1.1.1.1"));
|
||||
}
|
||||
|
||||
void DatabaseTest::open_database_name_fail_test()
|
||||
{
|
||||
serversdk::DatabaseManager dbManager;
|
||||
DatabaseAPI db(&dbManager, false);
|
||||
QVERIFY(!db.open("192.168.1.94", "wrong name"));
|
||||
}
|
||||
|
||||
void DatabaseTest::open_database_user_fail_test()
|
||||
{
|
||||
serversdk::DatabaseManager dbManager;
|
||||
DatabaseAPI db(&dbManager, false);
|
||||
QVERIFY(!db.open("192.168.1.94", "delliote", "wrong user"));
|
||||
}
|
||||
|
||||
void DatabaseTest::open_database_password_fail_test()
|
||||
{
|
||||
serversdk::DatabaseManager dbManager;
|
||||
DatabaseAPI db(&dbManager, false);
|
||||
QVERIFY(!db.open("192.168.1.94", "delliote", "postgres", "wrong password"));
|
||||
}
|
||||
|
||||
|
||||
void DatabaseTest::download_data_test()
|
||||
{
|
||||
serversdk::DatabaseManager dbManager;
|
||||
DatabaseAPI db(&dbManager, false);
|
||||
db.open();
|
||||
QVERIFY(db.downloadData());
|
||||
}
|
||||
|
||||
void DatabaseTest::download_data_fail_test()
|
||||
{
|
||||
serversdk::DatabaseManager dbManager;
|
||||
DatabaseAPI db(&dbManager, false);
|
||||
|
||||
// fail open so download data should return nullptr
|
||||
db.open("1.1.1.1");
|
||||
QVERIFY(!db.downloadData());
|
||||
}
|
||||
|
||||
|
||||
QTEST_APPLESS_MAIN(DatabaseTest)
|
||||
|
||||
#include "tst_databaseapi.moc"
|
||||
|
||||
23
test/auto/syncmanager/tst_syncmanager.cpp
Normal file
23
test/auto/syncmanager/tst_syncmanager.cpp
Normal file
@ -0,0 +1,23 @@
|
||||
#include <QtTest>
|
||||
|
||||
#include "syncmanager.h"
|
||||
// add necessary includes here
|
||||
|
||||
class SyncManagerTest : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
private slots:
|
||||
void sync_init_test();
|
||||
|
||||
};
|
||||
|
||||
void SyncManagerTest::sync_init_test()
|
||||
{
|
||||
SyncManager sync(true);
|
||||
|
||||
QVERIFY(sync.databaseInitialization());
|
||||
}
|
||||
|
||||
QTEST_MAIN(SyncManagerTest)
|
||||
|
||||
#include "tst_syncmanager.moc"
|
||||
11
test/auto/syncmanager/tst_syncmanager.pro
Normal file
11
test/auto/syncmanager/tst_syncmanager.pro
Normal file
@ -0,0 +1,11 @@
|
||||
QT += testlib
|
||||
QT -= gui
|
||||
|
||||
CONFIG += qt console warn_on depend_includepath testcase
|
||||
CONFIG -= app_bundle
|
||||
|
||||
TEMPLATE = app
|
||||
|
||||
SOURCES += tst_syncmanager.cpp
|
||||
|
||||
include(../../test.pri)
|
||||
Loading…
x
Reference in New Issue
Block a user