mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 13:10:45 +02:00
Changes because of tests
This commit is contained in:
parent
f5ea0ed1a0
commit
5cc57ac9e7
@ -20,7 +20,7 @@ void ColnodAPI::downloadData()
|
|||||||
auto login = requestLogin();
|
auto login = requestLogin();
|
||||||
connect(login.get(), &serversdk::Request::finished, this, [=](){
|
connect(login.get(), &serversdk::Request::finished, this, [=](){
|
||||||
// Get login token
|
// Get login token
|
||||||
if (login->status() != 200) {
|
if (checkRequest(login)) {
|
||||||
emit error();
|
emit error();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -28,12 +28,35 @@ void ColnodAPI::downloadData()
|
|||||||
token.fromJson(login->responseData());
|
token.fromJson(login->responseData());
|
||||||
authToken = token.id();
|
authToken = token.id();
|
||||||
|
|
||||||
|
std::shared_ptr<Data> data;
|
||||||
|
|
||||||
|
auto errorHandler = [=](std::shared_ptr<serversdk::Request> request){
|
||||||
|
if (!checkRequest(request)) {
|
||||||
|
qWarning(colnod) << "ERROR during calling" << request->url() << ", request unsuccessful";
|
||||||
|
mValid = false;
|
||||||
|
}
|
||||||
|
else if (!checkResponse(request->responseData())) {
|
||||||
|
qWarning(colnod) << "Data from" << request->url() << "are invalid";
|
||||||
|
mValid = false;
|
||||||
|
}
|
||||||
|
saveUpdatedTokens(request->responseData());
|
||||||
|
emit partOfDataReady(data);
|
||||||
|
};
|
||||||
|
|
||||||
// if I have all data emit downloadDataFinished
|
// if I have all data emit downloadDataFinished
|
||||||
connect(this, &ColnodAPI::partOfDataReady, this, &ColnodAPI::areDataReady);
|
connect(this, &ColnodAPI::partOfDataReady, this, &ColnodAPI::areDataReady);
|
||||||
getTokensUpdated(mLastSync);
|
|
||||||
getTokensDeleted(mLastSync);
|
auto tokensRequest = getTokensUpdated(mLastSync);
|
||||||
getSubjectsUpdated(mLastSync);
|
connect(tokensRequest.get(), &serversdk::Request::finished, errorHandler);
|
||||||
getSubjectsDeleted(mLastSync);
|
|
||||||
|
auto deletedTokensRequest = getTokensDeleted(mLastSync);
|
||||||
|
connect(deletedTokensRequest.get(), &serversdk::Request::finished, errorHandler);
|
||||||
|
|
||||||
|
auto subjectsRequest = getSubjectsUpdated(mLastSync);
|
||||||
|
connect(subjectsRequest.get(), &serversdk::Request::finished, errorHandler);
|
||||||
|
|
||||||
|
auto deletedSubjectsRequest = getSubjectsDeleted(mLastSync);
|
||||||
|
connect(deletedSubjectsRequest.get(), &serversdk::Request::finished, errorHandler);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,45 +111,23 @@ std::shared_ptr<serversdk::Request> ColnodAPI::requestLogin()
|
|||||||
return loginRequest;
|
return loginRequest;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ColnodAPI::getTokensUpdated(const Timestamp &time)
|
std::shared_ptr<serversdk::Request> ColnodAPI::getTokensUpdated(const Timestamp &time)
|
||||||
{
|
{
|
||||||
auto request = composeRequest("/TokenManager/getTokensUpdated", time.jsonData());
|
auto request = composeRequest("/TokenManager/getTokensUpdated", time.jsonData());
|
||||||
request->setUserName(authToken);
|
request->setUserName(authToken);
|
||||||
mReqMan->processRequest(request);
|
mReqMan->processRequest(request);
|
||||||
connect(request.get(), &serversdk::Request::finished, [=](){
|
return request;
|
||||||
if (!checkRequest(request)) {
|
|
||||||
qWarning(colnod) << "ERROR during calling /TokenManager/getTokensUpdated, request unsuccessful";
|
|
||||||
mValid = false;
|
|
||||||
}
|
|
||||||
else if (!checkResponse(request->responseData())) {
|
|
||||||
qWarning(colnod) << "Data from /TokenManager/getTokensUpdated are invalid";
|
|
||||||
mValid = false;
|
|
||||||
}
|
|
||||||
saveUpdatedTokens(request->responseData());
|
|
||||||
emit partOfDataReady(mData);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ColnodAPI::getTokensDeleted(const Timestamp &time)
|
std::shared_ptr<serversdk::Request> ColnodAPI::getTokensDeleted(const Timestamp &time)
|
||||||
{
|
{
|
||||||
auto request = composeRequest("/TokenManager/getTokensDeleted", time.jsonData());
|
auto request = composeRequest("/TokenManager/getTokensDeleted", time.jsonData());
|
||||||
request->setUserName(authToken);
|
request->setUserName(authToken);
|
||||||
mReqMan->processRequest(request);
|
mReqMan->processRequest(request);
|
||||||
connect(request.get(), &serversdk::Request::finished, [=](){
|
return request;
|
||||||
if (!checkRequest(request)) {
|
|
||||||
qWarning(colnod) << "ERROR during calling /TokenManager/getTokensDeleted, request unsuccessful";
|
|
||||||
mValid = false;
|
|
||||||
}
|
|
||||||
else if (!checkResponse(request->responseData())) {
|
|
||||||
qWarning(colnod) << "Data from /TokenManager/getTokensDeleted are invalid";
|
|
||||||
mValid = false;
|
|
||||||
}
|
|
||||||
saveDeletedTokens(request->responseData());
|
|
||||||
emit partOfDataReady();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ColnodAPI::getSubjectsUpdated(const Timestamp &time)
|
std::shared_ptr<serversdk::Request> ColnodAPI::getSubjectsUpdated(const Timestamp &time)
|
||||||
{
|
{
|
||||||
auto request = composeRequest("/SubjectManager/getSubjectsUpdated", time.jsonData());
|
auto request = composeRequest("/SubjectManager/getSubjectsUpdated", time.jsonData());
|
||||||
request->setUserName(authToken);
|
request->setUserName(authToken);
|
||||||
@ -145,7 +146,7 @@ void ColnodAPI::getSubjectsUpdated(const Timestamp &time)
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void ColnodAPI::getSubjectsDeleted(const Timestamp &time)
|
std::shared_ptr<serversdk::Request> ColnodAPI::getSubjectsDeleted(const Timestamp &time)
|
||||||
{
|
{
|
||||||
auto request = composeRequest("/SubjectManager/getSubjectsDeleted", time.jsonData());
|
auto request = composeRequest("/SubjectManager/getSubjectsDeleted", time.jsonData());
|
||||||
request->setUserName(authToken);
|
request->setUserName(authToken);
|
||||||
@ -164,7 +165,7 @@ void ColnodAPI::getSubjectsDeleted(const Timestamp &time)
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void ColnodAPI::setTokens(const QHash<QString, std::shared_ptr<Token>> &tokens)
|
std::shared_ptr<serversdk::Request> ColnodAPI::setTokens(const QHash<QString, std::shared_ptr<Token>> &tokens)
|
||||||
{
|
{
|
||||||
auto request = composeRequest("/TokenManager/setTokens", Token::tokensToColnodJson(tokens));
|
auto request = composeRequest("/TokenManager/setTokens", Token::tokensToColnodJson(tokens));
|
||||||
request->setUserName(authToken);
|
request->setUserName(authToken);
|
||||||
@ -185,7 +186,7 @@ void ColnodAPI::setTokens(const QHash<QString, std::shared_ptr<Token>> &tokens)
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void ColnodAPI::deleteTokens(const QList<QString> &ids)
|
std::shared_ptr<serversdk::Request> ColnodAPI::deleteTokens(const QList<QString> &ids)
|
||||||
{
|
{
|
||||||
auto request = composeRequest("/TokenManager/deleteTokens", Token::idsToJSON(ids));
|
auto request = composeRequest("/TokenManager/deleteTokens", Token::idsToJSON(ids));
|
||||||
request->setUserName(authToken);
|
request->setUserName(authToken);
|
||||||
|
|||||||
@ -23,6 +23,16 @@ class Timestamp : public serversdk::DatabaseTable {
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
TABLE_PROPERTY(qint64, timestamp, set_timestamp, 0)
|
TABLE_PROPERTY(qint64, timestamp, set_timestamp, 0)
|
||||||
public:
|
public:
|
||||||
|
Timestamp() = default;
|
||||||
|
explicit Timestamp(qint64 time)
|
||||||
|
{
|
||||||
|
set_timestamp(time);
|
||||||
|
}
|
||||||
|
explicit Timestamp(QDateTime time)
|
||||||
|
{
|
||||||
|
set_timestamp(time.toMSecsSinceEpoch());
|
||||||
|
}
|
||||||
|
|
||||||
QString toDateString()
|
QString toDateString()
|
||||||
{
|
{
|
||||||
return QDateTime::fromMSecsSinceEpoch(a_timestamp).toString("yyyy-MM-dd hh:mm:ss.zzz");
|
return QDateTime::fromMSecsSinceEpoch(a_timestamp).toString("yyyy-MM-dd hh:mm:ss.zzz");
|
||||||
@ -43,13 +53,13 @@ public:
|
|||||||
std::shared_ptr<serversdk::Request> requestLogin();
|
std::shared_ptr<serversdk::Request> requestLogin();
|
||||||
|
|
||||||
|
|
||||||
void getTokensUpdated(const Timestamp &time);
|
std::shared_ptr<serversdk::Request> getTokensUpdated(const Timestamp &time);
|
||||||
void getTokensDeleted(const Timestamp &time);
|
std::shared_ptr<serversdk::Request> getTokensDeleted(const Timestamp &time);
|
||||||
void getSubjectsUpdated(const Timestamp &time);
|
std::shared_ptr<serversdk::Request> getSubjectsUpdated(const Timestamp &time);
|
||||||
void getSubjectsDeleted(const Timestamp &time);
|
std::shared_ptr<serversdk::Request> getSubjectsDeleted(const Timestamp &time);
|
||||||
|
|
||||||
void setTokens(const QHash<QString, std::shared_ptr<Token>> &tokens);
|
std::shared_ptr<serversdk::Request> setTokens(const QHash<QString, std::shared_ptr<Token>> &tokens);
|
||||||
void deleteTokens(const QList<QString> &tokenIds);
|
std::shared_ptr<serversdk::Request> deleteTokens(const QList<QString> &tokenIds);
|
||||||
|
|
||||||
// Attributes
|
// Attributes
|
||||||
QString userName() const;
|
QString userName() const;
|
||||||
|
|||||||
@ -6,7 +6,6 @@
|
|||||||
class ColnodTest : public QObject
|
class ColnodTest : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
friend class ColnodAPI;
|
|
||||||
private slots:
|
private slots:
|
||||||
void login();
|
void login();
|
||||||
void getTokens();
|
void getTokens();
|
||||||
@ -31,10 +30,14 @@ void ColnodTest::getTokens()
|
|||||||
{
|
{
|
||||||
serversdk::RequestManager reqMan;
|
serversdk::RequestManager reqMan;
|
||||||
ColnodAPI colnod(&reqMan);
|
ColnodAPI colnod(&reqMan);
|
||||||
|
|
||||||
|
// get login token
|
||||||
auto login = colnod.requestLogin();
|
auto login = colnod.requestLogin();
|
||||||
QSignalSpy spy(login.get(), &serversdk::Request::finished);
|
QSignalSpy spy(login.get(), &serversdk::Request::finished);
|
||||||
spy.wait();
|
spy.wait();
|
||||||
qDebug().noquote() << login->responseData().mid(7,36);
|
QString token = login->responseData().mid(7,36);
|
||||||
|
Timestamp time(QDateTime::currentMSecsSinceEpoch());
|
||||||
|
colnod.getTokensUpdated(time);
|
||||||
}
|
}
|
||||||
|
|
||||||
QTEST_GUILESS_MAIN(ColnodTest)
|
QTEST_GUILESS_MAIN(ColnodTest)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user