colnod-connector/test/auto/colnod/tst_colnodapi.cpp
2019-11-28 11:29:51 +01:00

72 lines
1.6 KiB
C++

#include <QtTest>
#include "colnodapi.h"
// add necessary includes here
class ColnodTest : public QObject
{
Q_OBJECT
private slots:
void login();
void getTokens();
void download_data_test();
private:
QString getLoginToken(ColnodAPI &colnod);
};
void ColnodTest::login()
{
serversdk::RequestManager reqMan;
ColnodAPI colnod(&reqMan);
auto login = colnod.requestLogin();
QSignalSpy spy(login.get(), &serversdk::Request::finished);
QCOMPARE(spy.count(), 0);
QVERIFY(spy.wait());
QCOMPARE(spy.count(), 1);
QVERIFY(login->responseData().contains("id"));
}
void ColnodTest::getTokens()
{
serversdk::RequestManager reqMan;
ColnodAPI colnod(&reqMan);
// get login token
auto login = colnod.requestLogin();
QSignalSpy spy(login.get(), &serversdk::Request::finished);
spy.wait();
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"