mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 20:30:41 +02:00
All endpoints working
there may be a problem with opening json file on Git runner
This commit is contained in:
parent
3c65d89b54
commit
e9df6e58d0
@ -184,6 +184,49 @@ QByteArray RequestManager::makeTimeStampJson(uint64_t time)
|
|||||||
return doc.toJson();
|
return doc.toJson();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QByteArray RequestManager::makeTokensJson(QList<QPointer<Token>> tokens)
|
||||||
|
{
|
||||||
|
QJsonObject items;
|
||||||
|
QJsonArray jsonTokens;
|
||||||
|
for (auto token : tokens)
|
||||||
|
{
|
||||||
|
QJsonObject jsonToken;
|
||||||
|
jsonToken.insert("id",token->idToStringWithoutBraces());
|
||||||
|
jsonToken.insert("name",token->getName());
|
||||||
|
jsonToken.insert("description", token->getDescription());
|
||||||
|
jsonToken.insert("tokenType", token->getTokenType());
|
||||||
|
jsonToken.insert("tokenBits", token->getTokenBits());
|
||||||
|
jsonToken.insert("tokenData", token->getTokenData());
|
||||||
|
jsonToken.insert("timeToLive", token->getTimeToLive());
|
||||||
|
jsonToken.insert("authErrors", token->getAuthErrors());
|
||||||
|
QJsonArray flags;
|
||||||
|
auto flagStructure = token->getFlags();
|
||||||
|
for (auto flag : flagStructure)
|
||||||
|
flags.push_back(flag);
|
||||||
|
jsonToken.insert("flags", flags);
|
||||||
|
jsonToken.insert("subjectId", token->subjectIdToStringWithoutBraces());
|
||||||
|
jsonTokens.push_back(jsonToken);
|
||||||
|
}
|
||||||
|
items.insert("items", jsonTokens);
|
||||||
|
QJsonDocument doc;
|
||||||
|
doc.setObject(items);
|
||||||
|
return doc.toJson();
|
||||||
|
}
|
||||||
|
|
||||||
|
QByteArray RequestManager::makeIdsJson(QList<QString> ids)
|
||||||
|
{
|
||||||
|
QJsonArray jsonIds;
|
||||||
|
for (auto id : ids)
|
||||||
|
{
|
||||||
|
jsonIds.push_back(id);
|
||||||
|
}
|
||||||
|
QJsonObject items;
|
||||||
|
items.insert("items", jsonIds);
|
||||||
|
QJsonDocument doc;
|
||||||
|
doc.setObject(items);
|
||||||
|
return doc.toJson();
|
||||||
|
}
|
||||||
|
|
||||||
Response* RequestManager::getSubjects()
|
Response* RequestManager::getSubjects()
|
||||||
{
|
{
|
||||||
return getRequestReturnLogic("/SubjectManager/getSubjects");
|
return getRequestReturnLogic("/SubjectManager/getSubjects");
|
||||||
@ -249,7 +292,15 @@ Response* RequestManager::getAccessGroupMembershipDeleted(uint64_t time)
|
|||||||
return postRequestReturnLogic("/AccessManager/getAccessGroupMembershipDeleted", makeTimeStampJson(time));
|
return postRequestReturnLogic("/AccessManager/getAccessGroupMembershipDeleted", makeTimeStampJson(time));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Response* RequestManager::setTokens(QList<QPointer<Token>> tokens)
|
||||||
|
{
|
||||||
|
return postRequestReturnLogic("/TokenManager/setTokens", makeTokensJson(tokens));
|
||||||
|
}
|
||||||
|
|
||||||
|
Response* RequestManager::deleteTokens(QList<QString> ids)
|
||||||
|
{
|
||||||
|
return postRequestReturnLogic("/TokenManager/deleteTokens", makeIdsJson(ids));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -12,6 +12,7 @@
|
|||||||
#include <QByteArray>
|
#include <QByteArray>
|
||||||
#include <QJsonDocument>
|
#include <QJsonDocument>
|
||||||
#include <QJsonObject>
|
#include <QJsonObject>
|
||||||
|
#include <QJsonArray>
|
||||||
#include <QJsonParseError>
|
#include <QJsonParseError>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
@ -22,6 +23,7 @@
|
|||||||
#include <QPair>
|
#include <QPair>
|
||||||
|
|
||||||
|
|
||||||
|
#include "token.h"
|
||||||
#include "response.h"
|
#include "response.h"
|
||||||
|
|
||||||
class RequestManager : public QObject
|
class RequestManager : public QObject
|
||||||
@ -47,6 +49,9 @@ public:
|
|||||||
Response* getAccessGroupMembershipUpdated(uint64_t time);
|
Response* getAccessGroupMembershipUpdated(uint64_t time);
|
||||||
Response* getAccessGroupMembershipDeleted(uint64_t time);
|
Response* getAccessGroupMembershipDeleted(uint64_t time);
|
||||||
|
|
||||||
|
Response* setTokens(QList<QPointer<Token>> tokens);
|
||||||
|
Response* deleteTokens(QList<QString> ids);
|
||||||
|
|
||||||
void login(QString endpoint, QString username, QString password); //I want it private, but unittest???
|
void login(QString endpoint, QString username, QString password); //I want it private, but unittest???
|
||||||
|
|
||||||
const QJsonDocument &getConfig() const {return config;}
|
const QJsonDocument &getConfig() const {return config;}
|
||||||
@ -61,7 +66,9 @@ private:
|
|||||||
QString encryptedPassword(QString password);
|
QString encryptedPassword(QString password);
|
||||||
QString getLoginHeader(QString username, QString hash);
|
QString getLoginHeader(QString username, QString hash);
|
||||||
void prepareAuthHeader();
|
void prepareAuthHeader();
|
||||||
QByteArray makeTimeStampJson(uint64_t);
|
QByteArray makeTimeStampJson(uint64_t time);
|
||||||
|
QByteArray makeTokensJson(QList<QPointer<Token>> tokens);
|
||||||
|
QByteArray makeIdsJson(QList<QString> ids);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void onSSLError(QNetworkReply *reply, const QList<QSslError> &errors);
|
void onSSLError(QNetworkReply *reply, const QList<QSslError> &errors);
|
||||||
|
|||||||
34
src/colnod/tokens.json
Normal file
34
src/colnod/tokens.json
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"id": "582c982d-6fd7-4856-8548-7ce542791c7a",
|
||||||
|
"name": "test",
|
||||||
|
"description": "mobile",
|
||||||
|
"tokenType": "Token",
|
||||||
|
"tokenBits": 32,
|
||||||
|
"tokenData": "7B9D32",
|
||||||
|
"timeToLive": 255,
|
||||||
|
"authErrors": 255,
|
||||||
|
"flags": [
|
||||||
|
"Enabled",
|
||||||
|
"NoValidity"
|
||||||
|
],
|
||||||
|
"subjectId": "72b37f7e-5761-4e6c-8e87-20c0bed0d904"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "3ff23b41-3da3-4b33-82ce-d8e2d8c9a546",
|
||||||
|
"name": "test1",
|
||||||
|
"description": "mobile",
|
||||||
|
"tokenType": "Token",
|
||||||
|
"tokenBits": 32,
|
||||||
|
"tokenData": "7B9D12",
|
||||||
|
"timeToLive": 255,
|
||||||
|
"authErrors": 255,
|
||||||
|
"flags": [
|
||||||
|
"Enabled",
|
||||||
|
"NoValidity"
|
||||||
|
],
|
||||||
|
"subjectId": "72b37f7e-5761-4e6c-8e87-20c0bed0d904"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -193,6 +193,55 @@ void UnitTest::getAccessGroupMembershipDeleted()
|
|||||||
QVERIFY(!json.isEmpty());
|
QVERIFY(!json.isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UnitTest::setTokens()
|
||||||
|
{
|
||||||
|
QFile jsonData(QDir::current().filePath("tokens.json"));
|
||||||
|
|
||||||
|
if (!jsonData.open(QIODevice::ReadOnly)) {
|
||||||
|
qCritical() << "Couldn't open config file config.json" << QDir::current().filePath("subjects.json");
|
||||||
|
QCoreApplication::exit(-1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
QJsonDocument doc = QJsonDocument::fromJson(jsonData.readAll());
|
||||||
|
QJsonObject obj = doc.object();
|
||||||
|
QJsonArray arr = obj["items"].toArray();
|
||||||
|
qDebug() << arr;
|
||||||
|
QList<QPointer<Token>> tokens;
|
||||||
|
for (auto object : arr)
|
||||||
|
{
|
||||||
|
auto token = new Token;
|
||||||
|
token->fromJSON(object.toObject());
|
||||||
|
qDebug() << token;
|
||||||
|
tokens.append(token);
|
||||||
|
}
|
||||||
|
RequestManager* testAccess = new RequestManager();
|
||||||
|
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
|
||||||
|
Response* response = testAccess->setTokens(tokens);
|
||||||
|
QCOMPARE(spy.count(), 0);
|
||||||
|
spy.wait(10000);
|
||||||
|
QVERIFY(spy.isValid());
|
||||||
|
QCOMPARE(spy.count(), 1);
|
||||||
|
QString json = response->reply->readAll();
|
||||||
|
QVERIFY(!json.isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
|
void UnitTest::deleteTokens()
|
||||||
|
{
|
||||||
|
RequestManager* testAccess = new RequestManager();
|
||||||
|
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
|
||||||
|
QList<QString> ids;
|
||||||
|
ids.append("582c982d-6fd7-4856-8548-7ce542791c7a");
|
||||||
|
ids.append("3ff23b41-3da3-4b33-82ce-d8e2d8c9a546");
|
||||||
|
Response* response = testAccess->deleteTokens(ids);
|
||||||
|
QCOMPARE(spy.count(), 0);
|
||||||
|
spy.wait(10000);
|
||||||
|
QVERIFY(spy.isValid());
|
||||||
|
QCOMPARE(spy.count(), 1);
|
||||||
|
QString json = response->reply->readAll();
|
||||||
|
QVERIFY(!json.isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
void UnitTest::subjectJSONParser()
|
void UnitTest::subjectJSONParser()
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -31,6 +31,8 @@ private slots:
|
|||||||
void getAccessGroupMembership();
|
void getAccessGroupMembership();
|
||||||
void getAccessGroupMembershipUpdated();
|
void getAccessGroupMembershipUpdated();
|
||||||
void getAccessGroupMembershipDeleted();
|
void getAccessGroupMembershipDeleted();
|
||||||
|
void setTokens();
|
||||||
|
void deleteTokens();
|
||||||
void subjectJSONParser();
|
void subjectJSONParser();
|
||||||
void tokenJSONParser();
|
void tokenJSONParser();
|
||||||
void connectToDB();
|
void connectToDB();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user