From 818416504b7339275d251e861e7fe1a9e4859939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Fischer?= Date: Thu, 28 Nov 2019 11:29:51 +0100 Subject: [PATCH] download data from colnod test --- src/colnod/colnodapi.cpp | 11 +++++------ src/colnod/colnodapi.h | 6 +++++- src/colnod/syncmanager.cpp | 4 ++-- test/auto/colnod/tst_colnodapi.cpp | 28 +++++++++++++++++++++++++++- 4 files changed, 39 insertions(+), 10 deletions(-) diff --git a/src/colnod/colnodapi.cpp b/src/colnod/colnodapi.cpp index 6554923..4340c8b 100644 --- a/src/colnod/colnodapi.cpp +++ b/src/colnod/colnodapi.cpp @@ -14,7 +14,7 @@ ColnodAPI::ColnodAPI(serversdk::RequestManager* reqMan, const qint64 &lastSync, // ----------------------------------- } -void ColnodAPI::downloadData() +void ColnodAPI::downloadData(const Timestamp &time) { // Have to get Login auto login = requestLogin(); @@ -44,28 +44,28 @@ void ColnodAPI::downloadData() // if I have all data emit downloadDataFinished connect(this, &ColnodAPI::partOfDataReady, this, &ColnodAPI::areDataReady); - auto tokensRequest = getTokensUpdated(mLastSync); + auto tokensRequest = getTokensUpdated(time); connect(tokensRequest.get(), &serversdk::Request::finished, errorHandler); connect(tokensRequest.get(), &serversdk::Request::finished, [=](){ saveUpdatedTokens(data, tokensRequest->responseData()); emit partOfDataReady(data); }); - auto deletedTokensRequest = getTokensDeleted(mLastSync); + auto deletedTokensRequest = getTokensDeleted(time); connect(deletedTokensRequest.get(), &serversdk::Request::finished, errorHandler); connect(deletedTokensRequest.get(), &serversdk::Request::finished, [=](){ saveDeletedTokens(data, deletedTokensRequest->responseData()); emit partOfDataReady(data); }); - auto subjectsRequest = getSubjectsUpdated(mLastSync); + auto subjectsRequest = getSubjectsUpdated(time); connect(subjectsRequest.get(), &serversdk::Request::finished, errorHandler); connect(subjectsRequest.get(), &serversdk::Request::finished, [=](){ saveUpdatedSubjects(data, subjectsRequest->responseData()); emit partOfDataReady(data); }); - auto deletedSubjectsRequest = getSubjectsDeleted(mLastSync); + auto deletedSubjectsRequest = getSubjectsDeleted(time); connect(deletedSubjectsRequest.get(), &serversdk::Request::finished, errorHandler); connect(deletedSubjectsRequest.get(), &serversdk::Request::finished, [=](){ saveDeletedSubjects(data, deletedSubjectsRequest->responseData()); @@ -263,7 +263,6 @@ void ColnodAPI::areDataReady(std::shared_ptr data) qInfo(colnod) << dash; emit downloadDataFinished(data); - newData(); } } diff --git a/src/colnod/colnodapi.h b/src/colnod/colnodapi.h index 9ef2e9d..af79297 100644 --- a/src/colnod/colnodapi.h +++ b/src/colnod/colnodapi.h @@ -24,6 +24,10 @@ class Timestamp : public serversdk::DatabaseTable { TABLE_PROPERTY(qint64, timestamp, set_timestamp, 0) public: Timestamp() = default; + Timestamp(const Timestamp &time) + { + this->set_timestamp(time.timestamp()); + } explicit Timestamp(qint64 time) { set_timestamp(time); @@ -46,7 +50,7 @@ public: ColnodAPI() = default; ColnodAPI(serversdk::RequestManager* reqMan, const qint64 &lastSync = 0, const bool &dryMode = false, const QString &userName = "spaceti", const QString &password = "spaceti1"); - void downloadData(); + void downloadData(const Timestamp &time); void processData(const std::shared_ptr &data); // New approach diff --git a/src/colnod/syncmanager.cpp b/src/colnod/syncmanager.cpp index 5f39e5c..801bb0a 100644 --- a/src/colnod/syncmanager.cpp +++ b/src/colnod/syncmanager.cpp @@ -63,7 +63,7 @@ bool SyncManager::startSynchronization() - colnod->downloadData(); + colnod->downloadData(Timestamp(syncBegin)); connect(colnod.get(), &ColnodAPI::downloadDataFinished, [=](std::shared_ptr data) { // NOW I HAVE DATA FROM COLNOD @@ -127,7 +127,7 @@ bool SyncManager::downloadData() connect(colnod.get(), &ColnodAPI::downloadDataFinished, this, &SyncManager::saveColnodData); //connect(database.get(), &DatabaseAPI::downloadDataFinished, this, &SyncManager::saveDatabaseData); //database->downloadData(); - colnod->downloadData(); + //colnod->downloadData(); return res; } diff --git a/test/auto/colnod/tst_colnodapi.cpp b/test/auto/colnod/tst_colnodapi.cpp index e11c9fa..2e6c57f 100644 --- a/test/auto/colnod/tst_colnodapi.cpp +++ b/test/auto/colnod/tst_colnodapi.cpp @@ -9,6 +9,10 @@ class ColnodTest : public QObject private slots: void login(); void getTokens(); + void download_data_test(); + +private: + QString getLoginToken(ColnodAPI &colnod); }; @@ -35,11 +39,33 @@ void ColnodTest::getTokens() auto login = colnod.requestLogin(); QSignalSpy spy(login.get(), &serversdk::Request::finished); spy.wait(); - QString token = login->responseData().mid(7,36); + QString token = getLoginToken(colnod); Timestamp time(QDateTime::currentMSecsSinceEpoch()); colnod.getTokensUpdated(time); } +void ColnodTest::download_data_test() +{ + serversdk::RequestManager reqMan; + ColnodAPI colnod(&reqMan); + + Timestamp time(QDateTime::currentMSecsSinceEpoch()); + colnod.downloadData(time); + QSignalSpy spy(&colnod, &ColnodAPI::downloadDataFinished); + QVERIFY(spy.wait()); + auto arguments = spy.takeFirst(); + QVERIFY(arguments.first().data()); +} + +QString ColnodTest::getLoginToken(ColnodAPI &colnod) +{ + auto login = colnod.requestLogin(); + QSignalSpy spy(login.get(), &serversdk::Request::finished); + spy.wait(); + return login->responseData().mid(7,36); + +} + QTEST_GUILESS_MAIN(ColnodTest) #include "tst_colnodapi.moc"