mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 11:50:37 +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();
|
||||
}
|
||||
|
||||
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()
|
||||
{
|
||||
return getRequestReturnLogic("/SubjectManager/getSubjects");
|
||||
@ -249,7 +292,15 @@ Response* RequestManager::getAccessGroupMembershipDeleted(uint64_t 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 <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QJsonArray>
|
||||
#include <QJsonParseError>
|
||||
#include <QFile>
|
||||
#include <QString>
|
||||
@ -22,6 +23,7 @@
|
||||
#include <QPair>
|
||||
|
||||
|
||||
#include "token.h"
|
||||
#include "response.h"
|
||||
|
||||
class RequestManager : public QObject
|
||||
@ -47,6 +49,9 @@ public:
|
||||
Response* getAccessGroupMembershipUpdated(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???
|
||||
|
||||
const QJsonDocument &getConfig() const {return config;}
|
||||
@ -61,7 +66,9 @@ private:
|
||||
QString encryptedPassword(QString password);
|
||||
QString getLoginHeader(QString username, QString hash);
|
||||
void prepareAuthHeader();
|
||||
QByteArray makeTimeStampJson(uint64_t);
|
||||
QByteArray makeTimeStampJson(uint64_t time);
|
||||
QByteArray makeTokensJson(QList<QPointer<Token>> tokens);
|
||||
QByteArray makeIdsJson(QList<QString> ids);
|
||||
|
||||
private slots:
|
||||
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());
|
||||
}
|
||||
|
||||
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()
|
||||
{
|
||||
/*
|
||||
|
||||
@ -31,6 +31,8 @@ private slots:
|
||||
void getAccessGroupMembership();
|
||||
void getAccessGroupMembershipUpdated();
|
||||
void getAccessGroupMembershipDeleted();
|
||||
void setTokens();
|
||||
void deleteTokens();
|
||||
void subjectJSONParser();
|
||||
void tokenJSONParser();
|
||||
void connectToDB();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user