mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 22:00:46 +02:00
304 lines
9.3 KiB
C++
304 lines
9.3 KiB
C++
#include "unittest.h"
|
|
|
|
void UnitTest::initTestCase()
|
|
{
|
|
|
|
}
|
|
|
|
void UnitTest::loginSuccessfully()
|
|
{
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::successLogin);
|
|
QVERIFY(spy.isValid());
|
|
testAccess.login();
|
|
spy.wait(timeout);
|
|
|
|
QCOMPARE(spy.count(), 1);
|
|
QString json = testAccess.jsonResponse;
|
|
qDebug() << json;
|
|
QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8());
|
|
QVERIFY2(doc.object().value("id").isString(), "No parameter 'id' in response");
|
|
}
|
|
|
|
//POST request w/o datas
|
|
void UnitTest::getSubjects()
|
|
{
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::responseReady);
|
|
QVERIFY(spy.isValid());
|
|
Response* response = testAccess.getSubjects();
|
|
QSignalSpy spy1(response, &Response::ready);
|
|
spy.wait(timeout);
|
|
QCOMPARE(spy.count(), 1);
|
|
QCOMPARE(spy1.count(), 1);
|
|
QString json = response->getJson();
|
|
QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8());
|
|
QVERIFY(doc.isObject());
|
|
QVERIFY2(doc.object().value("items").isArray(), "No parameter 'id' in response");
|
|
qDebug() << doc.object().value("items").toArray()[0].toObject()["id"].toString();
|
|
QVERIFY2(doc.object().value("items").toArray()[0].toObject()["id"].isString(), "ada");
|
|
response->deleteLater();
|
|
}
|
|
|
|
void UnitTest::getTokens()
|
|
{
|
|
RequestManager testAccess;
|
|
Response* response = testAccess.getTokens();
|
|
QSignalSpy spy(response, &Response::ready);
|
|
QCOMPARE(spy.count(), 0);
|
|
spy.wait(timeout);
|
|
QVERIFY(spy.isValid());
|
|
QCOMPARE(spy.count(), 1);
|
|
QString json = response->getJson();
|
|
QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8());
|
|
QVERIFY(doc.isObject());
|
|
QVERIFY2(doc.object().value("items").isArray(), "No parameter 'id' in response");
|
|
qDebug() << doc.object().value("items").toArray()[0].toObject()["id"].toString();
|
|
QVERIFY2(doc.object().value("items").toArray()[0].toObject()["id"].isString(), "ada");
|
|
response->deleteLater();
|
|
}
|
|
|
|
void UnitTest::getTokenSubject()
|
|
{
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::responseReady);
|
|
Response* response = testAccess.getTokenSubject();
|
|
QCOMPARE(spy.count(), 0);
|
|
spy.wait(timeout);
|
|
QVERIFY(spy.isValid());
|
|
QCOMPARE(spy.count(), 1);
|
|
QString json = response->getJson();
|
|
QVERIFY(!json.isEmpty());
|
|
response->deleteLater();
|
|
}
|
|
|
|
void UnitTest::getSubjectsUpdated()
|
|
{
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::responseReady);
|
|
Response* response = testAccess.getSubjectsUpdated(epochMS);
|
|
QCOMPARE(spy.count(), 0);
|
|
spy.wait(timeout);
|
|
QVERIFY(spy.isValid());
|
|
QCOMPARE(spy.count(), 1);
|
|
QString json = response->getJson();
|
|
QVERIFY(!json.isEmpty());
|
|
response->deleteLater();
|
|
}
|
|
|
|
void UnitTest::getSubjectsDeleted()
|
|
{
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::responseReady);
|
|
Response* response = testAccess.getSubjectsDeleted(epochMS);
|
|
QCOMPARE(spy.count(), 0);
|
|
spy.wait(timeout);
|
|
QVERIFY(spy.isValid());
|
|
QCOMPARE(spy.count(), 1);
|
|
QString json = response->getJson();
|
|
QVERIFY(!json.isEmpty());
|
|
response->deleteLater();
|
|
}
|
|
|
|
void UnitTest::getTokensUpdated()
|
|
{
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::responseReady);
|
|
Response* response = testAccess.getTokensUpdated(epochMS);
|
|
QCOMPARE(spy.count(), 0);
|
|
spy.wait(timeout);
|
|
QVERIFY(spy.isValid());
|
|
QCOMPARE(spy.count(), 1);
|
|
QString json = response->getJson();
|
|
QVERIFY(!json.isEmpty());
|
|
response->deleteLater();
|
|
}
|
|
|
|
void UnitTest::getTokensDeleted()
|
|
{
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::responseReady);
|
|
Response* response = testAccess.getTokensDeleted(epochMS);
|
|
QCOMPARE(spy.count(), 0);
|
|
spy.wait(timeout);
|
|
QVERIFY(spy.isValid());
|
|
QCOMPARE(spy.count(), 1);
|
|
QString json = response->getJson();
|
|
QVERIFY(!json.isEmpty());
|
|
response->deleteLater();
|
|
}
|
|
|
|
void UnitTest::getAccessGroups()
|
|
{
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::responseReady);
|
|
Response* response = testAccess.getAccessGroups();
|
|
QCOMPARE(spy.count(), 0);
|
|
spy.wait(timeout);
|
|
QVERIFY(spy.isValid());
|
|
QCOMPARE(spy.count(), 1);
|
|
QString json = response->getJson();
|
|
QVERIFY(!json.isEmpty());
|
|
response->deleteLater();
|
|
}
|
|
|
|
void UnitTest::getAccessGroupsUpdated()
|
|
{
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::responseReady);
|
|
Response* response = testAccess.getAccessGroupsUpdated(epochMS);
|
|
QCOMPARE(spy.count(), 0);
|
|
spy.wait(timeout);
|
|
QVERIFY(spy.isValid());
|
|
QCOMPARE(spy.count(), 1);
|
|
QString json = response->getJson();
|
|
QVERIFY(!json.isEmpty());
|
|
response->deleteLater();
|
|
}
|
|
|
|
void UnitTest::getAccessGroupsDeleted()
|
|
{
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::responseReady);
|
|
Response* response = testAccess.getAccessGroupsDeleted(epochMS);
|
|
QCOMPARE(spy.count(), 0);
|
|
spy.wait(timeout);
|
|
QVERIFY(spy.isValid());
|
|
QCOMPARE(spy.count(), 1);
|
|
QString json = response->getJson();
|
|
QVERIFY(!json.isEmpty());
|
|
response->deleteLater();
|
|
}
|
|
|
|
void UnitTest::getAccessGroupMembership()
|
|
{
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::responseReady);
|
|
Response* response = testAccess.getAccessGroupMembership();
|
|
QCOMPARE(spy.count(), 0);
|
|
spy.wait(timeout);
|
|
QVERIFY(spy.isValid());
|
|
QCOMPARE(spy.count(), 1);
|
|
QString json = response->getJson();
|
|
QVERIFY(!json.isEmpty());
|
|
response->deleteLater();
|
|
}
|
|
|
|
void UnitTest::getAccessGroupMembershipUpdated()
|
|
{
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::responseReady);
|
|
Response* response = testAccess.getAccessGroupMembershipUpdated(epochMS);
|
|
QCOMPARE(spy.count(), 0);
|
|
spy.wait(timeout);
|
|
QVERIFY(spy.isValid());
|
|
QCOMPARE(spy.count(), 1);
|
|
QString json = response->getJson();
|
|
QVERIFY(!json.isEmpty());
|
|
response->deleteLater();
|
|
}
|
|
|
|
void UnitTest::getAccessGroupMembershipDeleted()
|
|
{
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::responseReady);
|
|
Response* response = testAccess.getAccessGroupMembershipDeleted(epochMS);
|
|
QCOMPARE(spy.count(), 0);
|
|
spy.wait(timeout);
|
|
QVERIFY(spy.isValid());
|
|
QCOMPARE(spy.count(), 1);
|
|
QString json = response->getJson();
|
|
QVERIFY(!json.isEmpty());
|
|
response->deleteLater();
|
|
}
|
|
|
|
void UnitTest::setTokens()
|
|
{
|
|
|
|
QHash<QString, std::shared_ptr<Token>> tokens;
|
|
auto token = getTestToken();
|
|
tokens.insert(token->idToStringWithoutBraces(), token);
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::responseReady);
|
|
Response* response = testAccess.setTokens(tokens);
|
|
QCOMPARE(spy.count(), 0);
|
|
spy.wait(timeout);
|
|
QVERIFY(spy.isValid());
|
|
QCOMPARE(spy.count(), 1);
|
|
QString json = response->getJson();
|
|
QVERIFY(!json.isEmpty());
|
|
response->deleteLater();
|
|
}
|
|
|
|
void UnitTest::deleteTokens()
|
|
{
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::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(timeout);
|
|
QVERIFY(spy.isValid());
|
|
QCOMPARE(spy.count(), 1);
|
|
QString json = response->getJson();
|
|
QVERIFY(!json.isEmpty());
|
|
response->deleteLater();
|
|
}
|
|
|
|
void UnitTest::subjectJSONParser()
|
|
{
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::responseReady);
|
|
Response* response = testAccess.getSubjects();
|
|
spy.wait(timeout);
|
|
QString json = response->getJson();
|
|
QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8());
|
|
QJsonArray arr = doc.object()["items"].toArray();
|
|
Subject testSubject;
|
|
testSubject.fromJSON(arr[1].toObject());
|
|
qDebug() << testSubject.getName() << " Size: " << arr.size();
|
|
QVERIFY(!testSubject.getName().isEmpty());
|
|
response->deleteLater();
|
|
}
|
|
|
|
void UnitTest::tokenJSONParser()
|
|
{
|
|
RequestManager testAccess;
|
|
QSignalSpy spy(&testAccess, &RequestManager::responseReady);
|
|
Response* response = testAccess.getTokens();
|
|
spy.wait(timeout);
|
|
QString json = response->getJson();
|
|
QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8());
|
|
QJsonArray arr = doc.object()["items"].toArray();
|
|
Token testToken;
|
|
testToken.fromJSON(arr[5].toObject());
|
|
qDebug() << testToken.getName() << " Size: " << arr.size();
|
|
QVERIFY(!testToken.getName().isEmpty());
|
|
response->deleteLater();
|
|
}
|
|
|
|
std::shared_ptr<Token> UnitTest::getTestToken()
|
|
{
|
|
QJsonObject jsonToken;
|
|
jsonToken.insert("id", "062c93f6-ba3e-46af-a3a6-7a2988d1f0e9");
|
|
jsonToken.insert("name", "test");
|
|
jsonToken.insert("description", "mobile");
|
|
jsonToken.insert("tokenType", "Token");
|
|
jsonToken.insert("tokenBits", 32);
|
|
jsonToken.insert("tokenData", "7B9D32");
|
|
jsonToken.insert("timeToLive", 255);
|
|
jsonToken.insert("authErrors", 255);
|
|
QJsonArray flags;
|
|
flags.push_back("Enabled");
|
|
flags.push_back("NoValidity");
|
|
jsonToken.insert("flags", flags);
|
|
jsonToken.insert("subjectId", "72b37f7e-5761-4e6c-8e87-20c0bed0d904");
|
|
auto token = std::make_shared<Token>();
|
|
token->fromJSON(jsonToken);
|
|
return token;
|
|
}
|
|
|
|
QTEST_MAIN(UnitTest)
|