mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 11:50:37 +02:00
add download fail test
This commit is contained in:
parent
3bb6f24ae1
commit
674b49163b
@ -3,12 +3,9 @@
|
||||
Q_LOGGING_CATEGORY(colnod, "colnod.api");
|
||||
|
||||
|
||||
ColnodAPI::ColnodAPI(serversdk::RequestManager* reqMan, const qint64 &lastSync, const bool &dryMode, const QString &userName, const QString &password)
|
||||
ColnodAPI::ColnodAPI(serversdk::RequestManager* reqMan, const bool &dryMode, const QString &userName, const QString &password)
|
||||
:mReqMan(reqMan), mUserName(userName), mPassword(password), mDryMode(dryMode)
|
||||
{
|
||||
mLastSync.set_timestamp(lastSync);
|
||||
mData = std::make_shared<Data>();
|
||||
|
||||
// -----------------------------------
|
||||
mReqMan->setIgnoreSsl(true);
|
||||
// -----------------------------------
|
||||
@ -21,7 +18,8 @@ void ColnodAPI::downloadData(const Timestamp &time)
|
||||
connect(login.get(), &serversdk::Request::finished, this, [=](){
|
||||
// Get login token
|
||||
if (!checkRequest(login)) {
|
||||
emit error();
|
||||
emit downloadDataFinished(nullptr);
|
||||
return;
|
||||
}
|
||||
|
||||
AuthToken token;
|
||||
|
||||
@ -48,7 +48,7 @@ class ColnodAPI: public QObject
|
||||
Q_OBJECT
|
||||
public:
|
||||
ColnodAPI() = default;
|
||||
ColnodAPI(serversdk::RequestManager* reqMan, const qint64 &lastSync = 0, const bool &dryMode = false, const QString &userName = "spaceti", const QString &password = "spaceti1");
|
||||
ColnodAPI(serversdk::RequestManager* reqManconst, const bool &dryMode = false, const QString &userName = "spaceti", const QString &password = "spaceti1");
|
||||
|
||||
void downloadData(const Timestamp &time);
|
||||
void processData(const std::shared_ptr<Data> &data);
|
||||
@ -96,7 +96,7 @@ private:
|
||||
|
||||
|
||||
signals:
|
||||
void downloadDataFinished(std::shared_ptr<Data> = std::shared_ptr<Data>());
|
||||
void downloadDataFinished(std::shared_ptr<Data> = nullptr);
|
||||
void partOfDataReady(std::shared_ptr<Data> = std::shared_ptr<Data>());
|
||||
void partOfDataProcessFinished();
|
||||
void dataProcessFinished();
|
||||
|
||||
@ -32,7 +32,7 @@ bool SyncManager::databaseInitialization()
|
||||
|
||||
// here -> nothing can fail
|
||||
mlastSync.set_timestamp(database->getLastSync());
|
||||
colnod = std::make_shared<ColnodAPI>(&reqMan, mlastSync.timestamp(), mDryMode);
|
||||
colnod = std::make_shared<ColnodAPI>(&reqMan, mDryMode);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@ -1,15 +1,27 @@
|
||||
#include <QtTest>
|
||||
|
||||
#include "colnodapi.h"
|
||||
#include "serversdk/request.h"
|
||||
// add necessary includes here
|
||||
|
||||
Q_DECLARE_METATYPE(std::shared_ptr<Data>)
|
||||
Q_DECLARE_METATYPE(std::shared_ptr<serversdk::Request>);
|
||||
|
||||
class ColnodTest : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
ColnodTest()
|
||||
{
|
||||
qRegisterMetaType<std::shared_ptr<Data>>();
|
||||
qRegisterMetaType<std::shared_ptr<serversdk::Request>>();
|
||||
}
|
||||
|
||||
private slots:
|
||||
void login();
|
||||
void getTokens();
|
||||
void download_data_test();
|
||||
void download_data_fail_test();
|
||||
|
||||
private:
|
||||
QString getLoginToken(ColnodAPI &colnod);
|
||||
@ -53,8 +65,24 @@ void ColnodTest::download_data_test()
|
||||
colnod.downloadData(time);
|
||||
QSignalSpy spy(&colnod, &ColnodAPI::downloadDataFinished);
|
||||
QVERIFY(spy.wait());
|
||||
auto arguments = spy.takeFirst();
|
||||
QVERIFY(arguments.first().data());
|
||||
auto data = qvariant_cast<std::shared_ptr<Data>>(spy.at(0).at(0));
|
||||
QVERIFY(data);
|
||||
}
|
||||
|
||||
void ColnodTest::download_data_fail_test()
|
||||
{
|
||||
serversdk::RequestManager reqMan;
|
||||
ColnodAPI colnod(&reqMan, false, "spaceti", "wrong password");
|
||||
|
||||
Timestamp time(0);
|
||||
QSignalSpy spy(&colnod, &ColnodAPI::downloadDataFinished);
|
||||
colnod.downloadData(time);
|
||||
|
||||
QVERIFY(spy.wait());
|
||||
|
||||
auto data = qvariant_cast<std::shared_ptr<Data>>(spy.at(0).at(0));
|
||||
|
||||
QVERIFY(!data);
|
||||
}
|
||||
|
||||
QString ColnodTest::getLoginToken(ColnodAPI &colnod)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user