diff --git a/src/colnod/colnodapi.cpp b/src/colnod/colnodapi.cpp index fffac7e..ae34e39 100644 --- a/src/colnod/colnodapi.cpp +++ b/src/colnod/colnodapi.cpp @@ -12,14 +12,14 @@ void ColnodAPI::downloadData() { Response* resp0 = reqMan->getSubjects(); connect(resp0, &Response::ready, [=](){ - dataMan->localSaveSubjects(resp0->reply->readAll()); + dataMan->localSaveSubjects(resp0->getJson()); areDataReady(); resp0->deleteLater(); }); Response* resp1 = reqMan->getTokens(); connect(resp1, &Response::ready, [=](){ - dataMan->localSaveTokens(resp1->reply->readAll()); + dataMan->localSaveTokens(resp1->getJson()); areDataReady(); resp1->deleteLater(); }); diff --git a/src/colnod/requestmanager.cpp b/src/colnod/requestmanager.cpp index d571060..658b59b 100644 --- a/src/colnod/requestmanager.cpp +++ b/src/colnod/requestmanager.cpp @@ -16,8 +16,9 @@ RequestManager::RequestManager() QObject::connect(manager, &QNetworkAccessManager::sslErrors, this, &RequestManager::onSSLError); } -void RequestManager::login(QString host, QString username, QString password) +Response* RequestManager::login() { + loginResponse = new Response; QNetworkRequest request; QString hash = encryptedPassword(this->password); authHeader = getLoginHeader(this->user, hash); @@ -25,9 +26,6 @@ void RequestManager::login(QString host, QString username, QString password) {"password", hash}, {"username", this->user} }; - //this->host = host; - - request.setUrl(this->host + "/AaaManager/authSession"); request.setRawHeader("Authorization", authHeader.toLocal8Bit()); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json; charset=UTF-8"); @@ -35,6 +33,7 @@ void RequestManager::login(QString host, QString username, QString password) QJsonDocument jsonDocument; jsonDocument.setObject(reqBody); QNetworkReply* reply = manager->post(request, jsonDocument.toJson()); + loginResponse->setReply(reply); QObject::connect(reply, &QNetworkReply::finished, [=]() { if (reply->error()) { @@ -43,36 +42,14 @@ void RequestManager::login(QString host, QString username, QString password) reply->deleteLater(); return; } - jsonResponse = reply->readAll(); - prepareAuthHeader(); - if (loginStatus) - return; qDebug() << "Logged in successfully."; loginStatus = true; emit successLogin(); reply->deleteLater(); }); -} - -QNetworkReply* RequestManager::getRequest(QString endpoint) -{ - QNetworkRequest request; - request.setUrl(host + endpoint); - request.setRawHeader("Authorization", authHeader.toLocal8Bit()); - QNetworkReply* reply = manager->post(request, QByteArray()); - QObject::connect(reply, &QNetworkReply::finished, [=]() { - if (reply->error()) - { - qDebug() << reply->errorString(); - loginStatus = false; - reply->deleteLater(); - return; - } - qDebug() << "Authorized successfully, response ready."; - emit responseReady(); - reply->deleteLater(); - }); - return reply; + connect(this, &RequestManager::successLogin, loginResponse, &Response::ready); + connect(this, &RequestManager::successLogin, this, &RequestManager::prepareAuthHeader); + return loginResponse; } QNetworkReply* RequestManager::postRequest(QString endpoint, QByteArray json) @@ -97,41 +74,36 @@ QNetworkReply* RequestManager::postRequest(QString endpoint, QByteArray json) return reply; } -Response* RequestManager::getRequestReturnLogic(QString endpoint) -{ - Response* response = new Response; - if (!loginStatus){ - login(host, user, password); - connect(this, &RequestManager::successLogin, [=](){ - response->reply = getRequest(endpoint); - connect(response->reply, &QNetworkReply::finished, response, &Response::ready); - }); - } - else - { - response->reply = getRequest(endpoint); - connect(response->reply, &QNetworkReply::finished, response, &Response::ready); - } - return response; +Response* RequestManager::getLoginResponse() { + if (!loginResponse){ + loginResponse = login(); + + + } + return loginResponse; } Response* RequestManager::postRequestReturnLogic(QString endpoint, QByteArray data) { + auto loginResponse = getLoginResponse(); + // This will ensure login is called only once + + Q_ASSERT(loginResponse); Response* response = new Response; + if (!loginStatus){ - login(host, user, password); + connect(this, &RequestManager::successLogin, [=](){ - response->reply = postRequest(endpoint, data); - connect(response->reply, &QNetworkReply::finished, response, &Response::ready); + response->setReply(postRequest(endpoint, data)); + connect(response->getReply(), &QNetworkReply::finished, response, &Response::ready); }); } else { - response->reply = postRequest(endpoint, data); - connect(response->reply, &QNetworkReply::finished, response, &Response::ready); + response->setReply(postRequest(endpoint, data)); + connect(response->getReply(), &QNetworkReply::finished, response, &Response::ready); } - return response; } @@ -159,6 +131,7 @@ QString RequestManager::getLoginHeader(QString username, QString hash) void RequestManager::prepareAuthHeader() { + jsonResponse = loginResponse->getJson(); token = getFromJson(jsonResponse, "id"); QString authValue = token + ":"; authHeader = "Basic " + authValue.toLocal8Bit().toBase64(); @@ -166,12 +139,12 @@ void RequestManager::prepareAuthHeader() void RequestManager::onSSLError(QNetworkReply *reply, const QList &errors) { - qDebug() << "Network SSL errors"; + //qDebug() << "Network SSL errors"; for (const auto &error : errors) { if (error.error() == QSslError::SelfSignedCertificate) reply->ignoreSslErrors(errors); - qDebug() << error.errorString(); + //qDebug() << error.errorString(); } } @@ -229,17 +202,17 @@ QByteArray RequestManager::makeIdsJson(QList ids) Response* RequestManager::getSubjects() { - return getRequestReturnLogic("/SubjectManager/getSubjects"); + return postRequestReturnLogic("/SubjectManager/getSubjects"); } Response* RequestManager::getTokens() { - return getRequestReturnLogic("/TokenManager/getTokens"); + return postRequestReturnLogic("/TokenManager/getTokens"); } Response* RequestManager::getTokenSubject() { - return getRequestReturnLogic("/OpenManager/getTokenSubject"); + return postRequestReturnLogic("/OpenManager/getTokenSubject"); } Response* RequestManager::getSubjectsUpdated(uint64_t time) @@ -264,7 +237,7 @@ Response* RequestManager::getTokensDeleted(uint64_t time) Response* RequestManager::getAccessGroups() { - return getRequestReturnLogic("/AccessManager/getAccessGroups"); + return postRequestReturnLogic("/AccessManager/getAccessGroups"); } Response* RequestManager::getAccessGroupsUpdated(uint64_t time) @@ -279,7 +252,7 @@ Response* RequestManager::getAccessGroupsDeleted(uint64_t time) Response* RequestManager::getAccessGroupMembership() { - return getRequestReturnLogic("/AccessManager/getAccessGroupMembership"); + return postRequestReturnLogic("/AccessManager/getAccessGroupMembership"); } Response* RequestManager::getAccessGroupMembershipUpdated(uint64_t time) @@ -301,15 +274,3 @@ Response* RequestManager::deleteTokens(QList ids) { return postRequestReturnLogic("/TokenManager/deleteTokens", makeIdsJson(ids)); } - - - - - - - - - - - - diff --git a/src/colnod/requestmanager.h b/src/colnod/requestmanager.h index d34be11..55dc5be 100644 --- a/src/colnod/requestmanager.h +++ b/src/colnod/requestmanager.h @@ -52,27 +52,26 @@ public: Response* setTokens(QList> tokens); Response* deleteTokens(QList ids); - void login(QString endpoint, QString username, QString password); //I want it private, but unittest??? + Response* login(); //I want it private, but unittest??? const QJsonDocument &getConfig() const {return config;} const QString &getResponse() const {return jsonResponse;} private: - QNetworkReply* getRequest(QString endpoint); - QNetworkReply* postRequest(QString endpoints, QByteArray json); - Response* getRequestReturnLogic(QString endpoint); - Response* postRequestReturnLogic(QString endpoint, QByteArray data); + QNetworkReply* postRequest(QString endpoint, QByteArray json = QByteArray()); + Response* postRequestReturnLogic(QString endpoint, QByteArray data = QByteArray()); QString getFromJson(QString json, const QString &member); QString encryptedPassword(QString password); QString getLoginHeader(QString username, QString hash); - void prepareAuthHeader(); + QByteArray makeTimeStampJson(uint64_t time); QByteArray makeTokensJson(QList> tokens); QByteArray makeIdsJson(QList ids); + Response* getLoginResponse(); private slots: void onSSLError(QNetworkReply *reply, const QList &errors); - + void prepareAuthHeader(); signals: void successLogin(); @@ -81,6 +80,7 @@ signals: private: QNetworkAccessManager* manager = nullptr; + Response* loginResponse = nullptr; QJsonDocument config; QString authHeader; QString host = "https://192.168.1.3:8443"; diff --git a/src/colnod/response.cpp b/src/colnod/response.cpp index a3cb839..39d6482 100644 --- a/src/colnod/response.cpp +++ b/src/colnod/response.cpp @@ -2,5 +2,10 @@ Response::Response() { - + connect(this, &Response::ready, this, &Response::setJson); +} + +int Response::getStatusCode() +{ + return reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); } diff --git a/src/colnod/response.h b/src/colnod/response.h index 02dad6e..4416f88 100644 --- a/src/colnod/response.h +++ b/src/colnod/response.h @@ -8,18 +8,28 @@ class Response : public QObject { Q_OBJECT public: + Response(); + int getStatusCode(); + QString getJson() {return json;} + void setReply(QNetworkReply* rpl) {reply = rpl;} + QNetworkReply* getReply() {return reply;} public: - QNetworkReply *reply = nullptr; + signals: - void ready(); -public slots: + void ready(); + + +private slots: + void setJson() {json = reply->readAll();} + private: - + QString json; + QNetworkReply *reply = nullptr; }; #endif // RESPONSE_H diff --git a/test/unitTests/UnitTest.cpp b/test/unitTests/UnitTest.cpp index ddc7c5b..efb0fa2 100644 --- a/test/unitTests/UnitTest.cpp +++ b/test/unitTests/UnitTest.cpp @@ -1,13 +1,19 @@ #include "unittest.h" +void UnitTest::initTestCase() +{ + +} + void UnitTest::loginSuccessfully() { RequestManager* testAccess = new RequestManager(); QJsonDocument config = testAccess->getConfig(); QSignalSpy spy(testAccess, SIGNAL(successLogin())); - testAccess->login(host, email, password); - spy.wait(15000); QVERIFY(spy.isValid()); + testAccess->login(); + spy.wait(15000); + QCOMPARE(spy.count(), 1); QString json = testAccess->getResponse(); qDebug() << json; @@ -20,11 +26,15 @@ void UnitTest::getSubjects() { RequestManager* testAccess = new RequestManager(); QSignalSpy spy(testAccess, SIGNAL(responseReady())); - Response* response = testAccess->getSubjects(); - spy.wait(15000); QVERIFY(spy.isValid()); + Response* response = testAccess->getSubjects(); + QSignalSpy spy1(response, &Response::ready); + + spy.wait(15000); + QCOMPARE(spy.count(), 1); - QString json = response->reply->readAll(); + 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"); @@ -42,7 +52,7 @@ void UnitTest::getTokens() spy.wait(15000); QVERIFY(spy.isValid()); QCOMPARE(spy.count(), 1); - QString json = response->reply->readAll(); + QString json = response->getJson(); QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8()); QVERIFY(doc.isObject()); QVERIFY2(doc.object().value("items").isArray(), "No parameter 'id' in response"); @@ -59,7 +69,7 @@ void UnitTest::getTokenSubject() spy.wait(15000); QVERIFY(spy.isValid()); QCOMPARE(spy.count(), 1); - QString json = response->reply->readAll(); + QString json = response->getJson(); QVERIFY(!json.isEmpty()); } @@ -72,7 +82,7 @@ void UnitTest::getSubjectsUpdated() spy.wait(15000); QVERIFY(spy.isValid()); QCOMPARE(spy.count(), 1); - QString json = response->reply->readAll(); + QString json = response->getJson(); QVERIFY(!json.isEmpty()); } @@ -85,7 +95,7 @@ void UnitTest::getSubjectsDeleted() spy.wait(15000); QVERIFY(spy.isValid()); QCOMPARE(spy.count(), 1); - QString json = response->reply->readAll(); + QString json = response->getJson(); QVERIFY(!json.isEmpty()); } @@ -98,7 +108,7 @@ void UnitTest::getTokensUpdated() spy.wait(15000); QVERIFY(spy.isValid()); QCOMPARE(spy.count(), 1); - QString json = response->reply->readAll(); + QString json = response->getJson(); QVERIFY(!json.isEmpty()); } @@ -111,7 +121,7 @@ void UnitTest::getTokensDeleted() spy.wait(15000); QVERIFY(spy.isValid()); QCOMPARE(spy.count(), 1); - QString json = response->reply->readAll(); + QString json = response->getJson(); QVERIFY(!json.isEmpty()); } @@ -124,7 +134,7 @@ void UnitTest::getAccessGroups() spy.wait(15000); QVERIFY(spy.isValid()); QCOMPARE(spy.count(), 1); - QString json = response->reply->readAll(); + QString json = response->getJson(); QVERIFY(!json.isEmpty()); } @@ -137,7 +147,7 @@ void UnitTest::getAccessGroupsUpdated() spy.wait(15000); QVERIFY(spy.isValid()); QCOMPARE(spy.count(), 1); - QString json = response->reply->readAll(); + QString json = response->getJson(); QVERIFY(!json.isEmpty()); } @@ -150,7 +160,7 @@ void UnitTest::getAccessGroupsDeleted() spy.wait(15000); QVERIFY(spy.isValid()); QCOMPARE(spy.count(), 1); - QString json = response->reply->readAll(); + QString json = response->getJson(); QVERIFY(!json.isEmpty()); } @@ -163,7 +173,7 @@ void UnitTest::getAccessGroupMembership() spy.wait(15000); QVERIFY(spy.isValid()); QCOMPARE(spy.count(), 1); - QString json = response->reply->readAll(); + QString json = response->getJson(); QVERIFY(!json.isEmpty()); } @@ -176,7 +186,7 @@ void UnitTest::getAccessGroupMembershipUpdated() spy.wait(15000); QVERIFY(spy.isValid()); QCOMPARE(spy.count(), 1); - QString json = response->reply->readAll(); + QString json = response->getJson(); QVERIFY(!json.isEmpty()); } @@ -189,7 +199,7 @@ void UnitTest::getAccessGroupMembershipDeleted() spy.wait(15000); QVERIFY(spy.isValid()); QCOMPARE(spy.count(), 1); - QString json = response->reply->readAll(); + QString json = response->getJson(); QVERIFY(!json.isEmpty()); } @@ -197,12 +207,7 @@ 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("tokens.json"); - QCoreApplication::exit(-1); - return; - } - + QVERIFY2(jsonData.open(QIODevice::ReadOnly), "Couldn't open config file tokens.json"); QJsonDocument doc = QJsonDocument::fromJson(jsonData.readAll()); QJsonObject obj = doc.object(); QJsonArray arr = obj["items"].toArray(); @@ -222,7 +227,7 @@ void UnitTest::setTokens() spy.wait(15000); QVERIFY(spy.isValid()); QCOMPARE(spy.count(), 1); - QString json = response->reply->readAll(); + QString json = response->getJson(); QVERIFY(!json.isEmpty()); } @@ -238,7 +243,7 @@ void UnitTest::deleteTokens() spy.wait(15000); QVERIFY(spy.isValid()); QCOMPARE(spy.count(), 1); - QString json = response->reply->readAll(); + QString json = response->getJson(); QVERIFY(!json.isEmpty()); } @@ -261,7 +266,7 @@ void UnitTest::subjectJSONParser() QSignalSpy spy(testAccess, SIGNAL(responseReady())); Response* response = testAccess->getSubjects(); spy.wait(15000); - QString json = response->reply->readAll(); + QString json = response->getJson(); QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8()); QJsonArray arr = doc.object()["items"].toArray(); auto testSubject = new Subject(); @@ -276,7 +281,7 @@ void UnitTest::tokenJSONParser() QSignalSpy spy(testAccess, SIGNAL(responseReady())); Response* response = testAccess->getTokens(); spy.wait(15000); - QString json = response->reply->readAll(); + QString json = response->getJson(); QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8()); QJsonArray arr = doc.object()["items"].toArray(); auto testToken = new Token(); @@ -351,4 +356,5 @@ void UnitTest::getUuid() } -QTEST_MAIN(UnitTest) + +//QTEST_MAIN(UnitTest) diff --git a/test/unitTests/complextest.cpp b/test/unitTests/complextest.cpp new file mode 100644 index 0000000..aad6293 --- /dev/null +++ b/test/unitTests/complextest.cpp @@ -0,0 +1,137 @@ +#include "complextest.h" + +void ComplexTest::initTestCase() +{ + reqMan = new RequestManager; + start = QDateTime::currentMSecsSinceEpoch()-1000; + qDebug() << start; +} + +void ComplexTest::complexTest() +{ + // LOGIN_BEGIN + QSignalSpy loginSpy(reqMan, &RequestManager::successLogin); + Response* loginResp = reqMan->login(); + QSignalSpy loginRespSpy(loginResp, &Response::ready); + QCOMPARE(loginSpy.count(), 0); + QCOMPARE(loginRespSpy.count(), 0); + loginSpy.wait(10000); + 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 + QList> tokens; + tokens.append(getTestToken()); + Response* setTokensResp = reqMan->setTokens(tokens); + QSignalSpy setTokensRespSpy(setTokensResp, &Response::ready); + QCOMPARE(setTokensRespSpy.count(), 0); + setTokensRespSpy.wait(10000); + 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(10000); + 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("582c982d-6fd7-4856-8548-7ce542791c7a"); + Response* deleteTokensResp = reqMan->deleteTokens(ids); + QSignalSpy deleteTokensRespSpy(deleteTokensResp, &Response::ready); + QCOMPARE(deleteTokensRespSpy.count(), 0); + deleteTokensRespSpy.wait(10000); + 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(10000); + 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("582c982d-6fd7-4856-8548-7ce542791c7a")); + // 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); +} + + +// HELPFUL_FUNCTIONS +int ComplexTest::getNumOfSubjects() +{ + Response* subjectsResp = reqMan->getSubjects(); + QSignalSpy subjectsRespSpy(subjectsResp, &Response::ready); + subjectsRespSpy.wait(10000); + auto doc = getJsonDoc(subjectsResp->getJson()); + return doc.object()["items"].toArray().size(); +} + +int ComplexTest::getNumOfTokens() +{ + Response* tokensResp = reqMan->getTokens(); + QSignalSpy tokensRespSpy(tokensResp, &Response::ready); + tokensRespSpy.wait(10000); + auto doc = getJsonDoc(tokensResp->getJson()); + return doc.object()["items"].toArray().size(); +} + +QJsonDocument ComplexTest::getJsonDoc(QString json) +{ + return QJsonDocument::fromJson(json.toUtf8()); +} + +Token* ComplexTest::getTestToken() +{ + QJsonObject jsonToken; + jsonToken.insert("id", "582c982d-6fd7-4856-8548-7ce542791c7a"); + 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"); + Token* token = new Token; + token->fromJSON(jsonToken); + return token; +} + +QTEST_MAIN(ComplexTest) diff --git a/test/unitTests/complextest.h b/test/unitTests/complextest.h new file mode 100644 index 0000000..6217204 --- /dev/null +++ b/test/unitTests/complextest.h @@ -0,0 +1,33 @@ + +#pragma once + +#include +#include +#include "response.h" +#include "requestmanager.h" + +class ComplexTest : public QObject +{ + Q_OBJECT + +private slots: + void initTestCase(); + void complexTest(); + +private: + // FUNCTIONS + int getNumOfSubjects(); + int getNumOfTokens(); + QJsonDocument getJsonDoc(QString json); + Token* getTestToken(); + + + // VARIABLES + QString host = "https://192.168.1.3"; + QString user = "spaceti"; + QString password = "spaceti1"; + RequestManager* reqMan = nullptr; + uint64_t start = 0; + +}; + diff --git a/test/unitTests/unitTests.pro b/test/unitTests/unitTests.pro index c735084..a0b7551 100644 --- a/test/unitTests/unitTests.pro +++ b/test/unitTests/unitTests.pro @@ -1,15 +1,17 @@ -QT -= gui -QT += core sql network testlib -CONFIG += testcase # neccesary to have posibility to run: make check UnitTest - -HEADERS += \ - unittest.h -SOURCES += \ - unittest.cpp - -include(../../src/colnod/colnod.pri) - -# Default rules for deployment. -qnx: target.path = /tmp/$${TARGET}/bin -else: unix:!android: target.path = /opt/$${TARGET}/bin -!isEmpty(target.path): INSTALLS += target +QT -= gui +QT += core sql network testlib +CONFIG += testcase # neccesary to have posibility to run: make check UnitTest + +HEADERS += \ + complextest.h \ + unittest.h +SOURCES += \ + complextest.cpp \ + unittest.cpp + +include(../../src/colnod/colnod.pri) + +# Default rules for deployment. +qnx: target.path = /tmp/$${TARGET}/bin +else: unix:!android: target.path = /opt/$${TARGET}/bin +!isEmpty(target.path): INSTALLS += target diff --git a/test/unitTests/unittest.h b/test/unitTests/unittest.h index 6d580f1..2fabad0 100644 --- a/test/unitTests/unittest.h +++ b/test/unitTests/unittest.h @@ -17,6 +17,8 @@ class UnitTest : public QObject private slots: + void initTestCase(); + void loginSuccessfully(); // /AaaManager/authSession void getSubjects(); // /SubjectManager/getSubjects void getTokens(); // /TokenManager/getTokens