mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 12:00:37 +02:00
fix incorrect error handling
This commit is contained in:
parent
10ac748985
commit
0f948afa71
@ -269,7 +269,7 @@ bool DatabaseAPI::deleteItems(const QList<QString> &ids, const QString &tableNam
|
||||
std::shared_ptr<Token> DatabaseAPI::getToken(const QString &id)
|
||||
{
|
||||
auto query = mDbMan->createQuery();
|
||||
query.prepare("SELECT * FROM colnod_token WHERE d = :id");
|
||||
query.prepare("SELECT * FROM colnod_token WHERE id = :id");
|
||||
query.bindValue(":id", id);
|
||||
if (!executeQuery(query)) {
|
||||
qCritical(database) << "ERROR during accessing existing tokens. EXIT";
|
||||
@ -278,7 +278,7 @@ std::shared_ptr<Token> DatabaseAPI::getToken(const QString &id)
|
||||
}
|
||||
auto list = utils->tableFromQuery<Token>(query);
|
||||
if (list.isEmpty())
|
||||
return nullptr;
|
||||
return std::make_shared<Token>();
|
||||
return list.at(0);
|
||||
}
|
||||
|
||||
|
||||
@ -76,7 +76,7 @@ bool SyncManager::startSynchronization()
|
||||
|
||||
std::unique_ptr<PreparedData> preparedData = prepareDataNew(databaseData, colnodData);
|
||||
if (!preparedData) {
|
||||
qCritical(syncmanager) << "Not possible to get correct data from colnod";
|
||||
qCritical(syncmanager) << "Not possible to compose data";
|
||||
QCoreApplication::exit(-1);
|
||||
return;
|
||||
}
|
||||
@ -167,6 +167,18 @@ std::unique_ptr<PreparedData> SyncManager::prepareDataNew(const std::shared_ptr<
|
||||
|
||||
// not conflict so add to prepered tokens
|
||||
if (!databaseData->updatedTokens.contains(colnodToken->id())) {
|
||||
auto token = database->getToken(colnodToken->id());
|
||||
if (!token) {
|
||||
qCritical(syncmanager) << "Not possible to access database.";
|
||||
return nullptr;
|
||||
}
|
||||
if ( token ) {
|
||||
// alredy synced ( tokens are same )
|
||||
if (token == colnodToken) {
|
||||
alreadySynced.append(colnodToken->id());
|
||||
continue;
|
||||
}
|
||||
}
|
||||
preparedColnodData->updatedTokens.insert(colnodToken->id(), colnodToken);
|
||||
continue;
|
||||
}
|
||||
@ -178,12 +190,6 @@ std::unique_ptr<PreparedData> SyncManager::prepareDataNew(const std::shared_ptr<
|
||||
else {
|
||||
conflicts.append(colnodToken->id());
|
||||
}
|
||||
|
||||
auto token = database->getToken(colnodToken->id());
|
||||
if ( token )
|
||||
// alredy synced ( tokens are same )
|
||||
if (token == colnodToken)
|
||||
alreadySynced.append(colnodToken->id());
|
||||
}
|
||||
|
||||
for (const auto &id : colnodData->deletedTokens) {
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
#include "databaseapi.h"
|
||||
// add necessary includes here
|
||||
#include "token.h"
|
||||
|
||||
class DatabaseTest : public QObject
|
||||
{
|
||||
@ -14,6 +15,7 @@ private slots:
|
||||
void open_database_password_fail_test();
|
||||
void download_data_test();
|
||||
void download_data_fail_test();
|
||||
void get_token_test();
|
||||
};
|
||||
|
||||
void DatabaseTest::open_database_test()
|
||||
@ -76,6 +78,33 @@ void DatabaseTest::download_data_fail_test()
|
||||
QVERIFY(!db.downloadData());
|
||||
}
|
||||
|
||||
void DatabaseTest::get_token_test()
|
||||
{
|
||||
serversdk::DatabaseManager dbManager;
|
||||
DatabaseAPI db(&dbManager, false);
|
||||
|
||||
QVERIFY(!db.getToken("6c907a42-0401-4403-8af4-9d58eb35cddc"));
|
||||
|
||||
db.open();
|
||||
|
||||
auto token = db.getToken("6c907a42-0401-4403-8af4-9d58eb35cddc");
|
||||
QVERIFY(token);
|
||||
auto compareToken = std::make_shared<Token>();
|
||||
compareToken->setId("6c907a42-0401-4403-8af4-9d58eb35cddc");
|
||||
compareToken->setName("Losenicky");
|
||||
compareToken->setDescription("");
|
||||
compareToken->setLastUpdate(QDateTime::fromMSecsSinceEpoch(1543494713260));
|
||||
compareToken->setTokenData("AB1EA4D4");
|
||||
compareToken->setSubjectId("69c6e3b3-3f23-456f-a6c2-73ef08e589a4");
|
||||
QCOMPARE(compareToken, token);
|
||||
|
||||
auto compareToken1 = std::make_shared<Token>();
|
||||
auto token1 = db.getToken("non-existing-id");
|
||||
QVERIFY(token1);
|
||||
QCOMPARE(compareToken1, token1);
|
||||
|
||||
}
|
||||
|
||||
|
||||
QTEST_APPLESS_MAIN(DatabaseTest)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user