mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 13:10:45 +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)
|
std::shared_ptr<Token> DatabaseAPI::getToken(const QString &id)
|
||||||
{
|
{
|
||||||
auto query = mDbMan->createQuery();
|
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);
|
query.bindValue(":id", id);
|
||||||
if (!executeQuery(query)) {
|
if (!executeQuery(query)) {
|
||||||
qCritical(database) << "ERROR during accessing existing tokens. EXIT";
|
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);
|
auto list = utils->tableFromQuery<Token>(query);
|
||||||
if (list.isEmpty())
|
if (list.isEmpty())
|
||||||
return nullptr;
|
return std::make_shared<Token>();
|
||||||
return list.at(0);
|
return list.at(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -76,7 +76,7 @@ bool SyncManager::startSynchronization()
|
|||||||
|
|
||||||
std::unique_ptr<PreparedData> preparedData = prepareDataNew(databaseData, colnodData);
|
std::unique_ptr<PreparedData> preparedData = prepareDataNew(databaseData, colnodData);
|
||||||
if (!preparedData) {
|
if (!preparedData) {
|
||||||
qCritical(syncmanager) << "Not possible to get correct data from colnod";
|
qCritical(syncmanager) << "Not possible to compose data";
|
||||||
QCoreApplication::exit(-1);
|
QCoreApplication::exit(-1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -167,6 +167,18 @@ std::unique_ptr<PreparedData> SyncManager::prepareDataNew(const std::shared_ptr<
|
|||||||
|
|
||||||
// not conflict so add to prepered tokens
|
// not conflict so add to prepered tokens
|
||||||
if (!databaseData->updatedTokens.contains(colnodToken->id())) {
|
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);
|
preparedColnodData->updatedTokens.insert(colnodToken->id(), colnodToken);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -178,12 +190,6 @@ std::unique_ptr<PreparedData> SyncManager::prepareDataNew(const std::shared_ptr<
|
|||||||
else {
|
else {
|
||||||
conflicts.append(colnodToken->id());
|
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) {
|
for (const auto &id : colnodData->deletedTokens) {
|
||||||
|
|||||||
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include "databaseapi.h"
|
#include "databaseapi.h"
|
||||||
// add necessary includes here
|
// add necessary includes here
|
||||||
|
#include "token.h"
|
||||||
|
|
||||||
class DatabaseTest : public QObject
|
class DatabaseTest : public QObject
|
||||||
{
|
{
|
||||||
@ -14,6 +15,7 @@ private slots:
|
|||||||
void open_database_password_fail_test();
|
void open_database_password_fail_test();
|
||||||
void download_data_test();
|
void download_data_test();
|
||||||
void download_data_fail_test();
|
void download_data_fail_test();
|
||||||
|
void get_token_test();
|
||||||
};
|
};
|
||||||
|
|
||||||
void DatabaseTest::open_database_test()
|
void DatabaseTest::open_database_test()
|
||||||
@ -76,6 +78,33 @@ void DatabaseTest::download_data_fail_test()
|
|||||||
QVERIFY(!db.downloadData());
|
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)
|
QTEST_APPLESS_MAIN(DatabaseTest)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user