diff --git a/src/colnod/databaseapi.cpp b/src/colnod/databaseapi.cpp index ded9621..7c4b695 100644 --- a/src/colnod/databaseapi.cpp +++ b/src/colnod/databaseapi.cpp @@ -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) diff --git a/src/colnod/databaseapi.h b/src/colnod/databaseapi.h index ef71c1e..34b125d 100644 --- a/src/colnod/databaseapi.h +++ b/src/colnod/databaseapi.h @@ -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 utils; }; diff --git a/src/colnod/syncmanager.cpp b/src/colnod/syncmanager.cpp index 801bb0a..9cf9cb3 100644 --- a/src/colnod/syncmanager.cpp +++ b/src/colnod/syncmanager.cpp @@ -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) { - // 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; diff --git a/test/auto/auto.pro b/test/auto/auto.pro index 01b66a1..3fa2a6d 100644 --- a/test/auto/auto.pro +++ b/test/auto/auto.pro @@ -3,3 +3,4 @@ TEMPLATE = subdirs SUBDIRS += \ database/tst_databaseapi.pro \ colnod/tst_colnodapi.pro \ + syncmanager/tst_syncmanager.pro \ diff --git a/test/auto/database/tst_databaseapi.cpp b/test/auto/database/tst_databaseapi.cpp index 82878f8..43632ef 100644 --- a/test/auto/database/tst_databaseapi.cpp +++ b/test/auto/database/tst_databaseapi.cpp @@ -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" diff --git a/test/auto/syncmanager/tst_syncmanager.cpp b/test/auto/syncmanager/tst_syncmanager.cpp new file mode 100644 index 0000000..ad97eff --- /dev/null +++ b/test/auto/syncmanager/tst_syncmanager.cpp @@ -0,0 +1,23 @@ +#include + +#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" diff --git a/test/auto/syncmanager/tst_syncmanager.pro b/test/auto/syncmanager/tst_syncmanager.pro new file mode 100644 index 0000000..aadc383 --- /dev/null +++ b/test/auto/syncmanager/tst_syncmanager.pro @@ -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)