mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 15:40:40 +02:00
Add logger class
This commit is contained in:
parent
921fc2cb77
commit
a55a6f6b93
@ -10,8 +10,9 @@ int main(int argc, char *argv[])
|
|||||||
QCoreApplication::setApplicationName("colnod-connector");
|
QCoreApplication::setApplicationName("colnod-connector");
|
||||||
QCoreApplication::setApplicationVersion("1.0");
|
QCoreApplication::setApplicationVersion("1.0");
|
||||||
QCommandLineParser parser;
|
QCommandLineParser parser;
|
||||||
|
Logger *logger = Logger::getLogger();
|
||||||
parser.setApplicationDescription("Dry mode");
|
parser.setApplicationDescription("Dry mode");
|
||||||
QCommandLineOption dryModeOption("dryMode", "ColnodAPI", "Read-only mode, prints changes which normally be doing");
|
QCommandLineOption dryModeOption("dryMode", "ColnodAPI", "Read-only mode, prints changes which would normally be made");
|
||||||
parser.addOption(dryModeOption);
|
parser.addOption(dryModeOption);
|
||||||
parser.process(app);
|
parser.process(app);
|
||||||
auto *api = new ColnodAPI(true); // parser.isSet(dryModeOption));
|
auto *api = new ColnodAPI(true); // parser.isSet(dryModeOption));
|
||||||
|
|||||||
@ -6,6 +6,7 @@ SOURCES += \
|
|||||||
$$PWD/databasemanager.cpp \
|
$$PWD/databasemanager.cpp \
|
||||||
$$PWD/datamanager.cpp \
|
$$PWD/datamanager.cpp \
|
||||||
$$PWD/entity.cpp \
|
$$PWD/entity.cpp \
|
||||||
|
$$PWD/logger.cpp \
|
||||||
$$PWD/requestmanager.cpp \
|
$$PWD/requestmanager.cpp \
|
||||||
$$PWD/response.cpp \
|
$$PWD/response.cpp \
|
||||||
$$PWD/subject.cpp \
|
$$PWD/subject.cpp \
|
||||||
@ -16,6 +17,7 @@ HEADERS += \
|
|||||||
$$PWD/databasemanager.h \
|
$$PWD/databasemanager.h \
|
||||||
$$PWD/datamanager.h \
|
$$PWD/datamanager.h \
|
||||||
$$PWD/entity.h \
|
$$PWD/entity.h \
|
||||||
|
$$PWD/logger.h \
|
||||||
$$PWD/requestmanager.h \
|
$$PWD/requestmanager.h \
|
||||||
$$PWD/response.h \
|
$$PWD/response.h \
|
||||||
$$PWD/subject.h \
|
$$PWD/subject.h \
|
||||||
|
|||||||
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include "requestmanager.h"
|
#include "requestmanager.h"
|
||||||
#include "datamanager.h"
|
#include "datamanager.h"
|
||||||
|
#include "logger.h"
|
||||||
|
|
||||||
class ColnodAPI : public QObject
|
class ColnodAPI : public QObject
|
||||||
{
|
{
|
||||||
|
|||||||
@ -31,8 +31,8 @@ int DatabaseManager::saveSubject(Subject* subject, const QString& table)
|
|||||||
executeQuery(query);
|
executeQuery(query);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
query.prepare(QString("INSERT INTO %1 (id, description, last_update, name, pin) "
|
query.prepare(QString("INSERT INTO %1 (id, description, last_update, name, pin) "
|
||||||
"VALUES (:id, :description, :last_update, :name, :pin)").arg(table));
|
"VALUES (:id, :description, :last_update, :name, :pin)").arg(table));
|
||||||
query.bindValue(":id", id);
|
query.bindValue(":id", id);
|
||||||
@ -42,7 +42,7 @@ int DatabaseManager::saveSubject(Subject* subject, const QString& table)
|
|||||||
query.bindValue(":pin", subject->getPin());
|
query.bindValue(":pin", subject->getPin());
|
||||||
executeQuery(query);
|
executeQuery(query);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// add or update token to DB
|
// add or update token to DB
|
||||||
@ -69,8 +69,8 @@ int DatabaseManager::saveToken(Token* token, const QString& table)
|
|||||||
executeQuery(query);
|
executeQuery(query);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
query.prepare(QString("INSERT INTO %1 (id, auth_errors, description, enabled, last_update, name, no_validity, time_to_live, token_bits, token_data, token_type, subject_id, last_modified, deleted) "
|
query.prepare(QString("INSERT INTO %1 (id, auth_errors, description, enabled, last_update, name, no_validity, time_to_live, token_bits, token_data, token_type, subject_id, last_modified, deleted) "
|
||||||
"VALUES (:id, :auth_errors, :description, :enabled, :last_update, :name, :no_validity, :time_to_live, :token_bits, :token_data, :token_type, :subject_id, :last_modified, :deleted)").arg(table));
|
"VALUES (:id, :auth_errors, :description, :enabled, :last_update, :name, :no_validity, :time_to_live, :token_bits, :token_data, :token_type, :subject_id, :last_modified, :deleted)").arg(table));
|
||||||
query.bindValue(":id", id);
|
query.bindValue(":id", id);
|
||||||
@ -89,7 +89,7 @@ int DatabaseManager::saveToken(Token* token, const QString& table)
|
|||||||
query.bindValue(":deleted", token->getDeleted());
|
query.bindValue(":deleted", token->getDeleted());
|
||||||
executeQuery(query);
|
executeQuery(query);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// add of update subject attributes
|
// add of update subject attributes
|
||||||
@ -172,10 +172,10 @@ bool DatabaseManager::executeQuery(QSqlQuery &query) const
|
|||||||
query.exec();
|
query.exec();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else{
|
|
||||||
bool res = query.exec();
|
bool res = query.exec();
|
||||||
return res;
|
return res;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DatabaseManager::dropTables()
|
void DatabaseManager::dropTables()
|
||||||
@ -270,3 +270,11 @@ void DatabaseManager::setLastUpdate(const QString& id, quint64 lastUpdate)
|
|||||||
executeQuery(query);
|
executeQuery(query);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DatabaseManager::log(QString msg)
|
||||||
|
{
|
||||||
|
query.prepare("INSERT INTO logs (msg) VALUES (:msg)");
|
||||||
|
query.bindValue(":msg", msg);
|
||||||
|
query.exec();
|
||||||
|
//executeQuery(query);
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
#include "subject.h"
|
#include "subject.h"
|
||||||
#include "token.h"
|
#include "token.h"
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
|
//#include "logger.h"
|
||||||
|
|
||||||
|
|
||||||
class DatabaseManager : public QObject
|
class DatabaseManager : public QObject
|
||||||
@ -35,6 +36,8 @@ public:
|
|||||||
|
|
||||||
void setLastUpdate(const QString& id, quint64 lastUpdate);
|
void setLastUpdate(const QString& id, quint64 lastUpdate);
|
||||||
|
|
||||||
|
void log(QString msg);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool checkIfExists(const QString& id, const QString& table);
|
bool checkIfExists(const QString& id, const QString& table);
|
||||||
bool executeQuery(QSqlQuery &query) const;
|
bool executeQuery(QSqlQuery &query) const;
|
||||||
|
|||||||
@ -3,10 +3,11 @@
|
|||||||
DataManager::DataManager(const bool &dryMode)
|
DataManager::DataManager(const bool &dryMode)
|
||||||
{
|
{
|
||||||
db = new DatabaseManager("192.168.1.94", "deloitte", "postgres", "34rjkciea12", dryMode);
|
db = new DatabaseManager("192.168.1.94", "deloitte", "postgres", "34rjkciea12", dryMode);
|
||||||
|
//db = new DatabaseManager("localhost", "deloitte", "postgres", "34rjkciea12");
|
||||||
|
Logger::setDBMan(db);
|
||||||
nextLastSync = db->getNow();
|
nextLastSync = db->getNow();
|
||||||
lastSync = db->getLastSync();
|
lastSync = db->getLastSync();
|
||||||
this->dryMode = dryMode;
|
this->dryMode = dryMode;
|
||||||
//db = new DatabaseManager("localhost", "deloitte", "postgres", "34rjkciea12");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// load all tokens from colnod to comparing with working set from DB
|
// load all tokens from colnod to comparing with working set from DB
|
||||||
@ -105,6 +106,8 @@ void DataManager::fillSubjectsToUpdateDB()
|
|||||||
// load working set with subjest to delete from Colnod
|
// load working set with subjest to delete from Colnod
|
||||||
void DataManager::fillSubjectsToDeleteColnod(const QString& json)
|
void DataManager::fillSubjectsToDeleteColnod(const QString& json)
|
||||||
{
|
{
|
||||||
|
Logger::log("hello from dataManager :)");
|
||||||
|
Logger::logToDb("testing");
|
||||||
QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8());
|
QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8());
|
||||||
QJsonArray items = doc.object()["items"].toArray();
|
QJsonArray items = doc.object()["items"].toArray();
|
||||||
if (!items.empty())
|
if (!items.empty())
|
||||||
@ -120,7 +123,7 @@ void DataManager::fillSubjectsToDeleteColnod(const QString& json)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// load working set with tokens to delete from colnod
|
// load working set with tokens to delete from DB
|
||||||
void DataManager::fillTokensToDeleteColnod(const QString& json)
|
void DataManager::fillTokensToDeleteColnod(const QString& json)
|
||||||
{
|
{
|
||||||
QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8());
|
QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8());
|
||||||
@ -149,7 +152,8 @@ void DataManager::pushSubjectsToDB()
|
|||||||
if (subjectsToUpdateFromColnodToDB.contains("empty")) {
|
if (subjectsToUpdateFromColnodToDB.contains("empty")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int updated = 0, added = 0;
|
int updated = 0;
|
||||||
|
int added = 0;
|
||||||
qInfo() << "Subjects in progress...";
|
qInfo() << "Subjects in progress...";
|
||||||
for (const auto& subject : subjectsToUpdateFromColnodToDB)
|
for (const auto& subject : subjectsToUpdateFromColnodToDB)
|
||||||
{
|
{
|
||||||
@ -170,7 +174,8 @@ void DataManager::pushTokensToDB()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
filterTokensColnod();
|
filterTokensColnod();
|
||||||
int updated = 0, added = 0;
|
int updated = 0;
|
||||||
|
int added = 0;
|
||||||
qInfo() << "Tokens in progress...";
|
qInfo() << "Tokens in progress...";
|
||||||
for (const auto& token : tokensToUpdateFromColnodToDB)
|
for (const auto& token : tokensToUpdateFromColnodToDB)
|
||||||
{
|
{
|
||||||
@ -181,6 +186,7 @@ void DataManager::pushTokensToDB()
|
|||||||
}
|
}
|
||||||
qInfo() << added << " tokens added to DB";
|
qInfo() << added << " tokens added to DB";
|
||||||
qInfo() << updated << " tokens updated to DB";
|
qInfo() << updated << " tokens updated to DB";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DataManager::deleteSubjectsFromDB()
|
void DataManager::deleteSubjectsFromDB()
|
||||||
@ -253,11 +259,11 @@ void DataManager::updateLastSync()
|
|||||||
// these to filter functions solve colision tokens -> remove when change on this token is earlier then change on the same token on the other side (Colnod/DB)
|
// these to filter functions solve colision tokens -> remove when change on this token is earlier then change on the same token on the other side (Colnod/DB)
|
||||||
void DataManager::filterTokensDB()
|
void DataManager::filterTokensDB()
|
||||||
{
|
{
|
||||||
for (auto token : tokensToUpdateFromDBToColnod)
|
for (const auto& token : tokensToUpdateFromDBToColnod)
|
||||||
{
|
{
|
||||||
QString id = token->idToStringWithoutBraces();
|
QString id = token->idToStringWithoutBraces();
|
||||||
Q_ASSERT(token = allTokensFromColnod.value(id)); // if working sets are loading correctly equels should never happend
|
Q_ASSERT(token != allTokensFromColnod.value(id)); // if working sets are loading correctly equels should never happend
|
||||||
if (allTokensFromColnod.contains(id) && token < allTokensFromColnod.value(id))
|
if (allTokensFromColnod.contains(id) && *token < *allTokensFromColnod.value(id))
|
||||||
tokensToUpdateFromDBToColnod.remove(id);
|
tokensToUpdateFromDBToColnod.remove(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -273,8 +279,7 @@ void DataManager::filterTokensColnod()
|
|||||||
auto tokenDB = new Token;
|
auto tokenDB = new Token;
|
||||||
tokenDB->fromSQLRecord(record);
|
tokenDB->fromSQLRecord(record);
|
||||||
Q_ASSERT(tokenDB != token);
|
Q_ASSERT(tokenDB != token);
|
||||||
qDebug() << tokenDB->getLastModified() << " > " << token->getLastUpdate();
|
if (*tokenDB > *token)
|
||||||
if (tokenDB > token)
|
|
||||||
tokensToUpdateFromColnodToDB.remove(id);
|
tokensToUpdateFromColnodToDB.remove(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
#include "databasemanager.h"
|
#include "databasemanager.h"
|
||||||
#include <QJsonDocument>
|
#include <QJsonDocument>
|
||||||
#include <qjsonarray.h>
|
#include <qjsonarray.h>
|
||||||
|
#include <logger.h>
|
||||||
|
|
||||||
|
|
||||||
class DataManager : public QObject
|
class DataManager : public QObject
|
||||||
|
|||||||
@ -40,19 +40,19 @@ QString Entity::idToStringWithoutBraces() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Entity::fromJSON(const QJsonObject &json) {
|
void Entity::fromJSON(const QJsonObject &json) {
|
||||||
id = json.value("id").toString();
|
id = json["id"].toString();
|
||||||
name = json.value("name").toString();
|
name = json["name"].toString();
|
||||||
description = json.value("description").toString();
|
description = json["description"].toString();
|
||||||
lastUpdate = json.value("lastUpdate").toDouble();
|
lastUpdate = json["lastUpdate"].toDouble();
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject Entity::toJSON() const {
|
QJsonObject Entity::toJSON() const {
|
||||||
QJsonObject json;
|
QJsonObject json;
|
||||||
|
|
||||||
json.value("id") = this->idToStringWithoutBraces();
|
json["id"] = this->idToStringWithoutBraces();
|
||||||
json.value("name") = name;
|
json["name"] = name;
|
||||||
json.value("description") = description;
|
json["description"] = description;
|
||||||
json.value("lastUpdate") = lastUpdate;
|
json["lastUpdate"] = lastUpdate;
|
||||||
|
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|||||||
33
src/colnod/logger.cpp
Normal file
33
src/colnod/logger.cpp
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#include "logger.h"
|
||||||
|
|
||||||
|
Logger::Logger()
|
||||||
|
{
|
||||||
|
dbMan = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
Logger *Logger::getLogger()
|
||||||
|
{
|
||||||
|
if (!logger)
|
||||||
|
logger = new Logger;
|
||||||
|
return logger;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Logger::log(const QString& msg)
|
||||||
|
{
|
||||||
|
qDebug() << msg;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Logger::logToDb(const QString &msg)
|
||||||
|
{
|
||||||
|
dbMan->log(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Logger::setDBMan(DatabaseManager *dbMan)
|
||||||
|
{
|
||||||
|
Logger::dbMan = dbMan;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Logger *Logger::logger = nullptr;
|
||||||
|
DatabaseManager *Logger::dbMan = nullptr;
|
||||||
|
|
||||||
28
src/colnod/logger.h
Normal file
28
src/colnod/logger.h
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <QString>
|
||||||
|
#include <QDebug>
|
||||||
|
#include <QSqlDatabase>
|
||||||
|
#include "databasemanager.h"
|
||||||
|
|
||||||
|
|
||||||
|
class Logger
|
||||||
|
{
|
||||||
|
|
||||||
|
static Logger *logger;
|
||||||
|
|
||||||
|
Logger();
|
||||||
|
|
||||||
|
static DatabaseManager *dbMan;
|
||||||
|
|
||||||
|
public:
|
||||||
|
static Logger *getLogger();
|
||||||
|
static void log(const QString& msg);
|
||||||
|
static void logToDb(const QString& msg);
|
||||||
|
static void setDBMan(DatabaseManager* dbMan);
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
#include "token.h"
|
#include "token.h"
|
||||||
#include "response.h"
|
#include "response.h"
|
||||||
|
#include "logger.h"
|
||||||
|
|
||||||
class RequestManager : public QObject
|
class RequestManager : public QObject
|
||||||
{
|
{
|
||||||
@ -83,7 +84,7 @@ private:
|
|||||||
QJsonDocument config;
|
QJsonDocument config;
|
||||||
QString authHeader;
|
QString authHeader;
|
||||||
QString host = "https://192.168.1.3:8443";
|
QString host = "https://192.168.1.3:8443";
|
||||||
// QString host = "https://localhost:8080";
|
//QString host = "https://localhost:8080";
|
||||||
|
|
||||||
QString password = "spaceti1";
|
QString password = "spaceti1";
|
||||||
QString user = "spaceti";
|
QString user = "spaceti";
|
||||||
|
|||||||
@ -16,21 +16,21 @@ QString Subject::getEmail() const {
|
|||||||
void Subject::fromJSON(const QJsonObject &json) {
|
void Subject::fromJSON(const QJsonObject &json) {
|
||||||
Entity::fromJSON(json);
|
Entity::fromJSON(json);
|
||||||
|
|
||||||
attributes = json.value("attributes").toObject().value("items").toObject();
|
attributes = json["attributes"].toObject()["items"].toObject();
|
||||||
for (const auto & attributeType : attributeTypes)
|
for (const auto & attributeType : attributeTypes)
|
||||||
{
|
{
|
||||||
if (!attributes[attributeType].toString().isEmpty()){
|
if (!attributes[attributeType].toString().isEmpty()){
|
||||||
atr.append(qMakePair(attributeType, attributes[attributeType].toString()));
|
atr.append(qMakePair(attributeType, attributes[attributeType].toString()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const auto &tokenFlagsArray = json.value("tokenFlags").toArray();
|
const auto &tokenFlagsArray = json["tokenFlags"].toArray();
|
||||||
for(const auto &flag : tokenFlagsArray){
|
for(const auto &flag : tokenFlagsArray){
|
||||||
tokenFlags.insert(flag.toString());
|
tokenFlags.insert(flag.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
pin = json.value("pin").toString();
|
pin = json["pin"].toString();
|
||||||
|
|
||||||
const auto &pinFlagsArray = json.value("pinFlags").toArray();
|
const auto &pinFlagsArray = json["pinFlags"].toArray();
|
||||||
for(const auto &flag : pinFlagsArray){
|
for(const auto &flag : pinFlagsArray){
|
||||||
pinFlags.insert(flag.toString());
|
pinFlags.insert(flag.toString());
|
||||||
}
|
}
|
||||||
@ -41,10 +41,10 @@ QJsonObject Subject::toJSON() const {
|
|||||||
QJsonObject json = Entity::toJSON();
|
QJsonObject json = Entity::toJSON();
|
||||||
|
|
||||||
QJsonObject items({{"items", attributes}});
|
QJsonObject items({{"items", attributes}});
|
||||||
json.value("atributes") = items;
|
json["atributes"] = items;
|
||||||
json.value("tokenFlags") = QJsonArray::fromStringList(tokenFlags.toList());
|
json["tokenFlags"] = QJsonArray::fromStringList(tokenFlags.toList());
|
||||||
json.value("pin") = pin;
|
json["pin"] = pin;
|
||||||
json.value("pinFlags") = QJsonArray::fromStringList(pinFlags.toList());
|
json["pinFlags"] = QJsonArray::fromStringList(pinFlags.toList());
|
||||||
|
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,32 +26,29 @@ Token::Token(const QString &name)
|
|||||||
void Token::fromJSON(const QJsonObject &json) {
|
void Token::fromJSON(const QJsonObject &json) {
|
||||||
Entity::fromJSON(json);
|
Entity::fromJSON(json);
|
||||||
|
|
||||||
tokenType = json.value("tokenType").toString();
|
tokenType = json["tokenType"].toString();
|
||||||
tokenBits = json.value("tokenBits").toInt();
|
tokenBits = json["tokenBits"].toInt();
|
||||||
tokenData = json.value("tokenData").toString();
|
tokenData = json["tokenData"].toString();
|
||||||
validFrom = json.value("validFrom").toDouble();
|
timeToLive = json["timeToLive"].toInt();
|
||||||
validTo = json.value("validTo").toDouble();
|
|
||||||
timeToLive = json.value("timeToLive").toInt();
|
|
||||||
authErrors = json["authErrors"].toInt();
|
authErrors = json["authErrors"].toInt();
|
||||||
const auto &flagsArray = json["flags"].toArray();
|
const auto &flagsArray = json["flags"].toArray();
|
||||||
for(const auto &flag : flagsArray){
|
for(const auto &flag : flagsArray){
|
||||||
flags.insert(flag.toString());
|
flags.insert(flag.toString());
|
||||||
}
|
}
|
||||||
subjectId = json.value("subjectId").toString();
|
subjectId = json["subjectId"].toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject Token::toJSON() const {
|
QJsonObject Token::toJSON() const {
|
||||||
QJsonObject json = Entity::toJSON();
|
QJsonObject json = Entity::toJSON();
|
||||||
|
json.insert("tokenType", tokenType);
|
||||||
json.value("tokenType") = tokenType;
|
json["tokenBits"] = tokenBits;
|
||||||
json.value("tokenBits") = tokenBits;
|
json["tokenType"] = tokenType;
|
||||||
json.value("tokenData") = tokenData;
|
json["tokenBits"] = tokenBits;
|
||||||
json.value("validFrom") = validFrom;
|
json["tokenData"] = tokenData;
|
||||||
json.value("validTo") = validTo;
|
json["timeToLive"] = timeToLive;
|
||||||
json.value("timeToLive") = timeToLive;
|
json["authErrors"] = authErrors;
|
||||||
json.value("authErrors") = authErrors;
|
json["flags"] = QJsonArray::fromStringList(flags.toList());
|
||||||
json.value("flags") = QJsonArray::fromStringList(flags.toList());
|
json["subjectId"] = subjectId.toString().mid(1,36);
|
||||||
json.value("subjectId") = subjectId.toString().mid(1,36);
|
|
||||||
|
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
@ -104,22 +101,6 @@ void Token::setTokenData(const QString &tokenData) {
|
|||||||
Token::tokenData = tokenData;
|
Token::tokenData = tokenData;
|
||||||
}
|
}
|
||||||
|
|
||||||
quint64 Token::getValidFrom() const {
|
|
||||||
return validFrom;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Token::setValidFrom(quint64 validFrom) {
|
|
||||||
Token::validFrom = validFrom;
|
|
||||||
}
|
|
||||||
|
|
||||||
quint64 Token::getValidTo() const {
|
|
||||||
return validTo;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Token::setValidTo(quint64 validTo) {
|
|
||||||
Token::validTo = validTo;
|
|
||||||
}
|
|
||||||
|
|
||||||
int Token::getTimeToLive() const {
|
int Token::getTimeToLive() const {
|
||||||
return timeToLive;
|
return timeToLive;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,7 +19,7 @@ public:
|
|||||||
return lToken.getLastModified() < rToken.getLastUpdate();
|
return lToken.getLastModified() < rToken.getLastUpdate();
|
||||||
}
|
}
|
||||||
friend bool operator>(const Token &lToken, const Token &rToken){
|
friend bool operator>(const Token &lToken, const Token &rToken){
|
||||||
return rToken.getLastModified() > lToken.getLastUpdate();
|
return lToken.getLastModified() > rToken.getLastUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
const QString &getTokenType() const;
|
const QString &getTokenType() const;
|
||||||
@ -28,10 +28,6 @@ public:
|
|||||||
void setTokenBits(int tokenBits);
|
void setTokenBits(int tokenBits);
|
||||||
const QString &getTokenData() const;
|
const QString &getTokenData() const;
|
||||||
void setTokenData(const QString &tokenData);
|
void setTokenData(const QString &tokenData);
|
||||||
quint64 getValidFrom() const;
|
|
||||||
void setValidFrom(quint64 validFrom);
|
|
||||||
quint64 getValidTo() const;
|
|
||||||
void setValidTo(quint64 validTo);
|
|
||||||
int getTimeToLive() const;
|
int getTimeToLive() const;
|
||||||
void setTimeToLive(int timeToLive);
|
void setTimeToLive(int timeToLive);
|
||||||
int getAuthErrors() const;
|
int getAuthErrors() const;
|
||||||
@ -55,8 +51,6 @@ private:
|
|||||||
QString tokenType;
|
QString tokenType;
|
||||||
int tokenBits{};
|
int tokenBits{};
|
||||||
QString tokenData;
|
QString tokenData;
|
||||||
qint64 validFrom{};
|
|
||||||
qint64 validTo{};
|
|
||||||
int timeToLive{};
|
int timeToLive{};
|
||||||
int authErrors{};
|
int authErrors{};
|
||||||
QSet<QString> flags;
|
QSet<QString> flags;
|
||||||
|
|||||||
@ -2,32 +2,33 @@
|
|||||||
|
|
||||||
void ComplexTest::initTestCase()
|
void ComplexTest::initTestCase()
|
||||||
{
|
{
|
||||||
auto reqMan1 = new RequestManager;
|
// auto reqMan1 = new RequestManager;
|
||||||
QList<QString> ids;
|
// QList<QString> ids;
|
||||||
ids.append("582c982d-6fd7-4856-8548-7ce542791c7a");
|
// ids.append("582c982d-6fd7-4856-8548-7ce542791c7a");
|
||||||
ids.append("3ff23b41-3da3-4b33-82ce-d8e2d8c9a546");
|
// ids.append("3ff23b41-3da3-4b33-82ce-d8e2d8c9a546");
|
||||||
Response* deleteTokensResp = reqMan1->deleteTokens(ids);
|
// Response* deleteTokensResp = reqMan1->deleteTokens(ids);
|
||||||
QSignalSpy deleteTokensRespSpy(deleteTokensResp, &Response::ready);
|
// QSignalSpy deleteTokensRespSpy(deleteTokensResp, &Response::ready);
|
||||||
QCOMPARE(deleteTokensRespSpy.count(), 0);
|
// QCOMPARE(deleteTokensRespSpy.count(), 0);
|
||||||
deleteTokensRespSpy.wait(timeout);
|
// deleteTokensRespSpy.wait(timeout);
|
||||||
QTest::qWait(2500);
|
// QTest::qWait(2500);
|
||||||
start = QDateTime::currentMSecsSinceEpoch()-2000;
|
start = QDateTime::currentMSecsSinceEpoch()-2000;
|
||||||
api = new ColnodAPI(true);
|
api = new ColnodAPI();
|
||||||
qDebug() << start;
|
qDebug() << start;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ComplexTest::cleanupTestCase()
|
void ComplexTest::cleanupTestCase()
|
||||||
{
|
{
|
||||||
QList<QString> ids;
|
// QList<QString> ids;
|
||||||
ids.append("582c982d-6fd7-4856-8548-7ce542791c7a");
|
// ids.append("582c982d-6fd7-4856-8548-7ce542791c7a");
|
||||||
ids.append("3ff23b41-3da3-4b33-82ce-d8e2d8c9a546");
|
// ids.append("3ff23b41-3da3-4b33-82ce-d8e2d8c9a546");
|
||||||
auto reqMan = new RequestManager;
|
// auto reqMan = new RequestManager;
|
||||||
Response* deleteTokensResp = reqMan->deleteTokens(ids);
|
// Response* deleteTokensResp = reqMan->deleteTokens(ids);
|
||||||
QSignalSpy deleteTokensRespSpy(deleteTokensResp, &Response::ready);
|
// QSignalSpy deleteTokensRespSpy(deleteTokensResp, &Response::ready);
|
||||||
QCOMPARE(deleteTokensRespSpy.count(), 0);
|
// QCOMPARE(deleteTokensRespSpy.count(), 0);
|
||||||
deleteTokensRespSpy.wait(timeout);
|
// deleteTokensRespSpy.wait(timeout);
|
||||||
QCOMPARE(deleteTokensRespSpy.count(), 1);
|
// QCOMPARE(deleteTokensRespSpy.count(), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ComplexTest::complexTest()
|
void ComplexTest::complexTest()
|
||||||
@ -82,7 +83,7 @@ void ComplexTest::complexTest()
|
|||||||
|
|
||||||
// DELETE_TOKENS_CHECK_BEGIN
|
// DELETE_TOKENS_CHECK_BEGIN
|
||||||
QList<QString> ids;
|
QList<QString> ids;
|
||||||
ids.append("582c982d-6fd7-4856-8548-7ce542791c7a");
|
ids.append("062c93f6-ba3e-46af-a3a6-7a2988d1f0e9");
|
||||||
Response* deleteTokensResp = reqMan->deleteTokens(ids);
|
Response* deleteTokensResp = reqMan->deleteTokens(ids);
|
||||||
QSignalSpy deleteTokensRespSpy(deleteTokensResp, &Response::ready);
|
QSignalSpy deleteTokensRespSpy(deleteTokensResp, &Response::ready);
|
||||||
QCOMPARE(deleteTokensRespSpy.count(), 0);
|
QCOMPARE(deleteTokensRespSpy.count(), 0);
|
||||||
@ -101,7 +102,7 @@ void ComplexTest::complexTest()
|
|||||||
QCOMPARE(getTokensDeletedRespSpy.count(), 1);
|
QCOMPARE(getTokensDeletedRespSpy.count(), 1);
|
||||||
auto doc2 = getJsonDoc(getTokensDeletedResp->getJson());
|
auto doc2 = getJsonDoc(getTokensDeletedResp->getJson());
|
||||||
QCOMPARE(doc2.object()["items"].toArray().size(), 1);
|
QCOMPARE(doc2.object()["items"].toArray().size(), 1);
|
||||||
QVERIFY(doc2.object()["items"].toArray().contains("582c982d-6fd7-4856-8548-7ce542791c7a"));
|
QVERIFY(doc2.object()["items"].toArray().contains("062c93f6-ba3e-46af-a3a6-7a2988d1f0e9"));
|
||||||
// CHECK_DELETED_TOKENS_END
|
// CHECK_DELETED_TOKENS_END
|
||||||
|
|
||||||
// LAST_TESTS (for sure)
|
// LAST_TESTS (for sure)
|
||||||
@ -128,6 +129,8 @@ void ComplexTest::fullSync()
|
|||||||
|
|
||||||
void ComplexTest::syncLastUpdated()
|
void ComplexTest::syncLastUpdated()
|
||||||
{
|
{
|
||||||
|
Logger *logger = Logger::getLogger();
|
||||||
|
Logger::log("ahoj");
|
||||||
api->loadDataFromColnod();
|
api->loadDataFromColnod();
|
||||||
QSignalSpy spy(api, &ColnodAPI::dataDownloaded);
|
QSignalSpy spy(api, &ColnodAPI::dataDownloaded);
|
||||||
spy.wait(timeout);
|
spy.wait(timeout);
|
||||||
@ -175,7 +178,7 @@ QJsonDocument ComplexTest::getJsonDoc(const QString &json)
|
|||||||
QPointer<Token> ComplexTest::getTestToken()
|
QPointer<Token> ComplexTest::getTestToken()
|
||||||
{
|
{
|
||||||
QJsonObject jsonToken;
|
QJsonObject jsonToken;
|
||||||
jsonToken.insert("id", "582c982d-6fd7-4856-8548-7ce542791c7a");
|
jsonToken.insert("id", "062c93f6-ba3e-46af-a3a6-7a2988d1f0e9");
|
||||||
jsonToken.insert("name", "test");
|
jsonToken.insert("name", "test");
|
||||||
jsonToken.insert("description", "mobile");
|
jsonToken.insert("description", "mobile");
|
||||||
jsonToken.insert("tokenType", "Token");
|
jsonToken.insert("tokenType", "Token");
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
#include "response.h"
|
#include "response.h"
|
||||||
#include "requestmanager.h"
|
#include "requestmanager.h"
|
||||||
#include "colnodapi.h"
|
#include "colnodapi.h"
|
||||||
|
#include "logger.h"
|
||||||
|
|
||||||
class ComplexTest : public QObject
|
class ComplexTest : public QObject
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user