#include "complextest.h" void ComplexTest::initTestCase() { // auto reqMan1 = new RequestManager; // QList 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 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> 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 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 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->fromJSON(jsonToken); return token; } //QTEST_MAIN(ComplexTest)