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:
Ondřej Fischer 2019-11-28 11:34:47 +01:00
commit 3bb6f24ae1
7 changed files with 106 additions and 11 deletions

View File

@ -12,13 +12,9 @@ DatabaseAPI::DatabaseAPI(serversdk::DatabaseManager *dbMan, bool dryMode)
mDbMan->setDryMode(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"), return mDbMan->openPostgres(host, name, user, password);
QStringLiteral("deloitte"),
QStringLiteral("postgres"),
QStringLiteral("34rjkciea12"),
QStringLiteral("postgres-connection"));
} }
bool DatabaseAPI::executeQuery(QSqlQuery &query, const QString &statement) bool DatabaseAPI::executeQuery(QSqlQuery &query, const QString &statement)

View File

@ -20,7 +20,10 @@ class DatabaseAPI : public QObject
public: public:
explicit DatabaseAPI(serversdk::DatabaseManager *dbMan, bool dryMode); 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()); bool executeQuery(QSqlQuery &query, const QString &statement = QString());
@ -58,8 +61,9 @@ signals:
void error(); void error();
private: private:
bool mDryMode;
bool mValid = true; bool mValid = true;
bool mDryMode;
serversdk::DatabaseManager *mDbMan = nullptr; serversdk::DatabaseManager *mDbMan = nullptr;
std::unique_ptr<serversdk::DatabaseUtils> utils; std::unique_ptr<serversdk::DatabaseUtils> utils;
}; };

View File

@ -62,14 +62,20 @@ bool SyncManager::startSynchronization()
// NOW I HAVE DATA FROM DATABASE // NOW I HAVE DATA FROM DATABASE
colnod->downloadData(Timestamp(syncBegin)); colnod->downloadData(Timestamp(syncBegin));
connect(colnod.get(), &ColnodAPI::downloadDataFinished, [=](std::shared_ptr<Data> data) { 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 // I can process data
qDebug(syncmanager) << "I have colnod and database data"; qDebug(syncmanager) << "I have colnod and database data";
qDebug(syncmanager) << "updated token count" << data->updatedTokens.count(); qDebug(syncmanager) << "updated token count" << data->updatedTokens.count();
}); });
return true; return true;

View File

@ -3,3 +3,4 @@ TEMPLATE = subdirs
SUBDIRS += \ SUBDIRS += \
database/tst_databaseapi.pro \ database/tst_databaseapi.pro \
colnod/tst_colnodapi.pro \ colnod/tst_colnodapi.pro \
syncmanager/tst_syncmanager.pro \

View File

@ -8,13 +8,19 @@ class DatabaseTest : public QObject
Q_OBJECT Q_OBJECT
private slots: private slots:
void open_database_test(); 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() void DatabaseTest::open_database_test()
{ {
serversdk::DatabaseManager dbManager; serversdk::DatabaseManager dbManager;
DatabaseAPI db(&dbManager, false); 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 // TODO: fix -> databaseAPI must be able to add credentials to check for wrong one or test wrong IP
//db.open(user, password, url, etc ); //db.open(user, password, url, etc );
@ -23,6 +29,54 @@ void DatabaseTest::open_database_test()
// QVERIFY(!db.open(worng ip)); // 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) QTEST_APPLESS_MAIN(DatabaseTest)
#include "tst_databaseapi.moc" #include "tst_databaseapi.moc"

View 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"

View 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)