mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-13 00:10:51 +02:00
217 lines
8.3 KiB
C++
217 lines
8.3 KiB
C++
#include "complextest.h"
|
|
|
|
void ComplexTest::initTestCase()
|
|
{
|
|
// auto reqMan1 = new RequestManager;
|
|
// QList<QString> ids;
|
|
// ids.append("582c982d-6fd7-4856-8548-7ce542791c7a");
|
|
// ids.append("3ff23b41-3da3-4b33-82ce-d8e2d8c9a546");
|
|
// Response* deleteTokensResp = reqMan1->deleteTokens(ids);
|
|
// QSignalSpy deleteTokensRespSpy(deleteTokensResp, &Response::ready);
|
|
// QCOMPARE(deleteTokensRespSpy.count(), 0);
|
|
// deleteTokensRespSpy.wait(timeout);
|
|
// QTest::qWait(2500);
|
|
// Logger *logger = Logger::getLogger();
|
|
//start = QDateTime::currentMSecsSinceEpoch()-2000;
|
|
//api = new SyncManager();
|
|
qDebug() << start;
|
|
|
|
}
|
|
|
|
//void DatabaseTableTest::enum_test2()
|
|
//{
|
|
// auto test = R"({"id":"e2432439-41ed-4440-9c8e-40edb9989a15","name":"Pavel Kanka","description":"","lastUpdate":1565350519781,"attributes":{"items":{"Jmeno":"Pavel","Spolecnost":"Colsys","Prijmeni":"Kaňka"}},"tokenFlags":["NoPin"],"pin":"","pinFlags":["Access"]})";
|
|
// Subject subject;
|
|
// subject.fromJson(test);
|
|
|
|
// QCOMPARE(subject.name(), "Pavel Kanka");
|
|
// qDebug() << subject.name() << subject.lastUpdate() << QDateTime::fromString("2019-08-09 11:35:19.000", "yyyy-MM-dd hh:mm:ss.zzz");
|
|
// QCOMPARE(subject.lastUpdate(), QDateTime::fromString("2019-08-09 11:35:19", "yyyy-MM-dd hh:mm:ss.zzz"));
|
|
// qDebug() << subject.attrib.value(1)->toVariantMap();
|
|
//}
|
|
|
|
|
|
void ComplexTest::cleanupTestCase()
|
|
{
|
|
|
|
// QList<QString> ids;
|
|
// ids.append("582c982d-6fd7-4856-8548-7ce542791c7a");
|
|
// ids.append("3ff23b41-3da3-4b33-82ce-d8e2d8c9a546");
|
|
// auto reqMan = new RequestManager;
|
|
// Response* deleteTokensResp = reqMan->deleteTokens(ids);
|
|
// QSignalSpy deleteTokensRespSpy(deleteTokensResp, &Response::ready);
|
|
// QCOMPARE(deleteTokensRespSpy.count(), 0);
|
|
// deleteTokensRespSpy.wait(timeout);
|
|
// QCOMPARE(deleteTokensRespSpy.count(), 1);
|
|
}
|
|
|
|
void ComplexTest::complexTest()
|
|
{
|
|
// // LOGIN_BEGIN
|
|
// reqMan = new RequestManager;
|
|
// QSignalSpy loginSpy(reqMan, &RequestManager::successLogin);
|
|
// auto loginResp = reqMan->login();
|
|
// QSignalSpy loginRespSpy(loginResp.get(), &Response::ready);
|
|
// QCOMPARE(loginSpy.count(), 0);
|
|
// QCOMPARE(loginRespSpy.count(), 0);
|
|
// loginSpy.wait(timeout);
|
|
// QCOMPARE(loginResp->getStatusCode(), 200); // HTTP status code check
|
|
// QCOMPARE(loginSpy.count(), 1); // Checking multiple calls
|
|
// QCOMPARE(loginRespSpy.count(), 1);
|
|
// auto doc0 = getJsonDoc(loginResp->getJson());
|
|
// QVERIFY(doc0.object()["id"].isString());
|
|
// // LOGIN_END
|
|
|
|
// // NUMBER_OF_SUBJECTS_AND_TOKENS_BEGIN
|
|
// int numOfSubjects = getNumOfSubjects();
|
|
// QCOMPARE(numOfSubjects, 2893); // should be still the same, if false db has been changed
|
|
// int numOfTokens = getNumOfTokens();
|
|
// QCOMPARE(numOfTokens, 2881); // should be still the same, if false db has been changed, or deleteTokens didnt work in previous test
|
|
// // NUMBER_OF_SUBJECTS_AND_TOKENS_END
|
|
|
|
|
|
// // ADD_TOKENS_CHECK_BEGIN
|
|
// QHash<QString, std::shared_ptr<Token>> tokens;
|
|
// auto token = getTestToken();
|
|
// tokens.insert(token->idToStringWithoutBraces(), token);
|
|
// Response* setTokensResp = reqMan->setTokens(tokens);
|
|
// QSignalSpy setTokensRespSpy(setTokensResp, &Response::ready);
|
|
// QCOMPARE(setTokensRespSpy.count(), 0);
|
|
// setTokensRespSpy.wait(timeout);
|
|
// QCOMPARE(setTokensRespSpy.count(), 1);
|
|
// QCOMPARE(setTokensResp->getStatusCode(), 200);
|
|
// QCOMPARE(getNumOfTokens(), numOfTokens + 1);
|
|
// // ADD_TOKENS_CHEK_END
|
|
|
|
// // CHECK_UPDATED_TOKENS_BEGIN
|
|
// Response* getTokensUpdatedResp = reqMan->getTokensUpdated(start);
|
|
// //start = QDateTime::currentMSecsSinceEpoch();
|
|
// QSignalSpy getTokensUpdatedRespSpy(getTokensUpdatedResp, &Response::ready);
|
|
// QCOMPARE(getTokensUpdatedRespSpy.count(), 0);
|
|
// getTokensUpdatedRespSpy.wait(timeout);
|
|
// QCOMPARE(getTokensUpdatedResp->getStatusCode(), 200);
|
|
// QCOMPARE(getTokensUpdatedRespSpy.count(), 1);
|
|
// auto doc1 = getJsonDoc(getTokensUpdatedResp->getJson());
|
|
// QCOMPARE(doc1.object()["items"].toArray().size(), 1);
|
|
// // CHECK_UPDATED_TOKENS_END
|
|
|
|
// // DELETE_TOKENS_CHECK_BEGIN
|
|
// QList<QString> ids;
|
|
// ids.append("062c93f6-ba3e-46af-a3a6-7a2988d1f0e9");
|
|
// Response* deleteTokensResp = reqMan->deleteTokens(ids);
|
|
// QSignalSpy deleteTokensRespSpy(deleteTokensResp, &Response::ready);
|
|
// QCOMPARE(deleteTokensRespSpy.count(), 0);
|
|
// deleteTokensRespSpy.wait(timeout);
|
|
// QCOMPARE(deleteTokensRespSpy.count(), 1);
|
|
// QCOMPARE(deleteTokensResp->getStatusCode(), 200);
|
|
// // DELETE_TOKENS_CHECK_END
|
|
|
|
// // CHECK_DELETED_TOKENS_BEGIN
|
|
// Response* getTokensDeletedResp = reqMan->getTokensDeleted(start);
|
|
// start = QDateTime::currentMSecsSinceEpoch();
|
|
// QSignalSpy getTokensDeletedRespSpy(getTokensDeletedResp, &Response::ready);
|
|
// QCOMPARE(getTokensDeletedRespSpy.count(), 0);
|
|
// getTokensDeletedRespSpy.wait(timeout);
|
|
// QCOMPARE(getTokensDeletedResp->getStatusCode(), 200);
|
|
// QCOMPARE(getTokensDeletedRespSpy.count(), 1);
|
|
// auto doc2 = getJsonDoc(getTokensDeletedResp->getJson());
|
|
// QCOMPARE(doc2.object()["items"].toArray().size(), 1);
|
|
// QVERIFY(doc2.object()["items"].toArray().contains("062c93f6-ba3e-46af-a3a6-7a2988d1f0e9"));
|
|
// // CHECK_DELETED_TOKENS_END
|
|
|
|
// // LAST_TESTS (for sure)
|
|
// QCOMPARE(loginSpy.count(), 1); // Checking multiple calls
|
|
// QCOMPARE(loginRespSpy.count(), 1);
|
|
// QCOMPARE(getNumOfSubjects(), numOfSubjects);
|
|
// QCOMPARE(getNumOfTokens(), numOfTokens);
|
|
}
|
|
|
|
void ComplexTest::fullSync()
|
|
{
|
|
/* api->prepareDatabase();
|
|
api->loadDataFromColnod();
|
|
QSignalSpy spy(api, &SyncManager::dataDownloaded);
|
|
spy.wait(timeout);
|
|
api->loadDataFromDB();
|
|
api->syncDataFromColnodToDB();
|
|
api->syncDataFromDBToColnod();
|
|
QSignalSpy processSpy(api, &SyncManager::dataUpdatedToColnod);
|
|
processSpy.wait(timeout);
|
|
QSignalSpy finish(api, &SyncManager::syncFinished);
|
|
finish.wait(timeout); */
|
|
}
|
|
|
|
void ComplexTest::syncLastUpdated()
|
|
{
|
|
// Logger::log("ahoj");
|
|
// api->loadDataFromColnod();
|
|
// QSignalSpy spy(api, &SyncManager::dataDownloaded);
|
|
// spy.wait(timeout);
|
|
// api->loadDataFromDB();
|
|
// api->syncDataFromColnodToDB();
|
|
// api->syncDataFromDBToColnod();
|
|
// QSignalSpy processSpy(api, &SyncManager::dataUpdatedToColnod);
|
|
// processSpy.wait(timeout);
|
|
// QSignalSpy finish(api, &SyncManager::syncFinished);
|
|
// finish.wait(timeout);
|
|
// qDebug() << "All right, at least should be.";
|
|
}
|
|
|
|
void ComplexTest::testingStuff()
|
|
{
|
|
//DatabaseManager* db = new DatabaseManager("192.168.1.94", "deloitte", "postgres", "34rjkciea12");
|
|
//DatabaseManager* db = new DatabaseManager("localhost", "deloitte", "postgres", "34rjkciea12");
|
|
//db->makeTestingLast_sync();
|
|
}
|
|
|
|
// HELPFUL_FUNCTIONS
|
|
int ComplexTest::getNumOfSubjects()
|
|
{
|
|
// auto reqMan = new RequestManager;
|
|
// Response* subjectsResp = reqMan->getSubjects();
|
|
// QSignalSpy subjectsRespSpy(subjectsResp, &Response::ready);
|
|
// subjectsRespSpy.wait(timeout);
|
|
// auto doc = getJsonDoc(subjectsResp->getJson());
|
|
// return doc.object()["items"].toArray().size();
|
|
return 0;
|
|
}
|
|
|
|
int ComplexTest::getNumOfTokens()
|
|
{
|
|
// auto reqMan = new RequestManager;
|
|
// Response* tokensResp = reqMan->getTokens();
|
|
// QSignalSpy tokensRespSpy(tokensResp, &Response::ready);
|
|
// tokensRespSpy.wait(timeout);
|
|
// auto doc = getJsonDoc(tokensResp->getJson());
|
|
// return doc.object()["items"].toArray().size();
|
|
return 0;
|
|
}
|
|
|
|
QJsonDocument ComplexTest::getJsonDoc(const QString &json)
|
|
{
|
|
return QJsonDocument::fromJson(json.toUtf8());
|
|
}
|
|
|
|
std::shared_ptr<Token> ComplexTest::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::shared_ptr<Token>();
|
|
//token->fromJSON(jsonToken);
|
|
return token;
|
|
}
|
|
|
|
//QTEST_MAIN(ComplexTest)
|