Merge branch 'fix-unit-tests' into 'master'

Fix unit tests

See merge request spaceti-app/integrations/acs/colnod-connector!9
This commit is contained in:
Ondřej Fischer 2019-11-07 13:55:45 +00:00
commit a5ac8943e4
12 changed files with 202 additions and 191 deletions

View File

@ -3,8 +3,8 @@
Acces Management System of Colsys: [Product info](http://produkty.colsys.cz/colnod/)
## TODO
- [ ] Debug Mode
- [ ] Logs
- [x] Dry Run Mode (0.1v)
- [x] Logs (0.1v)
- Timestamp
- Id of record
- Destination
@ -12,7 +12,7 @@ Acces Management System of Colsys: [Product info](http://produkty.colsys.cz/coln
- Token `action` to `subject_id`
- Sbject `action`
- `action` - updated, deleted, added
- [ ] App output
- [x] App output (0.1v)
- To Colnod
- Number of tokens added/deleted/updated
- To DB
@ -54,9 +54,58 @@ Acces Management System of Colsys: [Product info](http://produkty.colsys.cz/coln
}
```
1. GET request - `/SubjectManager/getSubjects` - get subjects
2. GET request - `/TokenManager/getTokens` - get tokens
3. POST request - `/TokenManager/setTokens` - set tokens
1. POST request - `/SubjectManager/getSubjects` - get subjects
2. POST request - `/SubjectManager/getSubjectsUpdated` - get tokens updated after <i>`time`</i>
3. POST request - `/SubjectManager/getSubjectsDeleted` - get tokens deleted after <i>`time`</i>
4. POST request - `/TokenManager/getTokens` - get tokens
5. POST request - `/TokenManager/getTokensUpdated` - get tokens updated after <i>`time`</i>
6. POST request - `/TokenManager/getTokensDeleted` - get tokens deleted after <i>`time`</i>
7. POST request - `/TokenManager/setTokens` - set tokens defined as <i>`JSON`</i>
8. POST request - `/TokenManager/deleteTokens` - delete tokens define as <i>`JSON2`</i>
9. POST request - `/AccessManager/getAccessGroups` - get access groups
10. POST request - `/AccessManager/getAccessGroupsUpdated`
11. POST request - `/AccessManager/getAccessGroupsDeleted`
12. POST request - `/AccessManager/getAccessGroupMembership`
13. POST request - `/AccessManager/getAccessGroupMembershipUpdated`
14. POST request - `/AccessManager/getAccessGroupMembershipDeleted`
- <i>`time`</i> = epoch time im miliseconds
```time
{
"timestamp": 1568646217767
}
```
- <i>`JSON`</i>
```json
{
"items": [
{
"id": "cf5cb80e-e6dd-45db-8edd-c9655447821c",
"name": "Testovaci pokus",
"description": "mobile",
"tokenType": "Token",
"tokenBits}": 32,
"tokenData": "7B9D31",
"timeToLive": 255,
"authErrors": 255,
"flags": [
"Enabled",
"NoValidity"
],
"subjectId": "72b37f7e-5761-4e6c-8e87-20c0bed0d904"
}
]
}
```
- <i>`JSON2`</i>
```json2
{
"items": [
"7272bcf6-b5ad-46dd-99a9-0c56faddf14c"
]
}
```
## RestAPI definitions
@ -80,10 +129,9 @@ curl -k --user "spaceti:E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E847
## Colnod Penta server
- Acces through: `penta-master` IP:`172.16.3.4`
- Acces through: `penta-master` IP: `172.16.4.4`
- URL: `192.168.254.11:8443`
- Port forwarding: `ssh -L 8443:192.168.254.11:8443 penta-master`
- `!!! does not work !!!`
```bash
curl -k --user "spaceti:E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0" -d '{"password":"E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0","username":"spaceti"}' -H "Content-Type: application/json" https://192.168.254.11:8443/AaaManager/authSession
@ -101,7 +149,7 @@ It is possible to chain requests: [see doc](https://support.insomnia.rest/articl
### Import workspace
- import: `Insomnia_2019_10_01.yaml`
- import: [Insomnia file on GitLab](https://gitlab.com/spaceti-app/integrations/acs/colnod-connector/blob/master/Insomnia_2019-10-15.yaml)
## Testing Blueprint API

View File

@ -26,9 +26,9 @@ int main(int argc, char *argv[])
api.syncDataFromColnodToDB();
api.syncDataFromDBToColnod();
});
QObject::connect(&api, &SyncManager::error, [](){
QObject::connect(&api, &SyncManager::error, &app, [](){
qDebug() << "error";
QCoreApplication::exit();
});
QCoreApplication::exit(1);
}, Qt::QueuedConnection);
return QCoreApplication::exec();
}

View File

@ -10,9 +10,13 @@ DatabaseManager::DatabaseManager(const QString& host, const QString& dbName, con
db.setPassword(password);
if (!db.open())
{
log("Opening error" + db.lastError().text());
opened = false;
Logger::log("Opening error" + db.lastError().text());
emit error();
}
else{
opened = true;
}
}
// add or update subject to db
@ -139,7 +143,7 @@ bool DatabaseManager::executeQuery(QSqlQuery &query, const QString &statement)
if (!dryMode || getLastQuery(query).startsWith("SELECT")){
if (!query.exec()){
QString msg = QString("Source: Database Manager, Error: %1").arg(query.lastError().text());
log(QString(msg));
Logger::logToDb(QString(msg));
emit error();
}
}
@ -151,7 +155,7 @@ bool DatabaseManager::executeQuery(QSqlQuery &query, const QString &statement)
if (!dryMode || statement.startsWith("SELECT")){
if (!query.exec(statement)){
QString msg = QString("Source: Database Manager, Error: %1").arg(query.lastError().text());
log(QString(msg));
Logger::logToDb(QString(msg));
emit error();
}
}
@ -300,3 +304,8 @@ bool DatabaseManager::checkDeletedToken(const QString &id)
query.next();
return query.value(0).toBool();
}
bool DatabaseManager::isOpen()
{
return opened;
}

View File

@ -10,7 +10,7 @@
#include "subject.h"
#include "token.h"
#include <QDateTime>
//#include "logger.h"
#include "logger.h"
class DatabaseManager : public QObject
@ -41,6 +41,8 @@ public:
QString getSubjectNameById(const QString &id);
bool checkDeletedToken(const QString &id);
bool isOpen();
private:
bool checkIfExists(const QString& id, const QString& table);
@ -53,4 +55,5 @@ signals:
private:
QSqlDatabase db;
bool dryMode = false;
bool opened = false;
};

View File

@ -3,12 +3,14 @@
DataManager::DataManager(const bool &dryMode)
:dryMode(dryMode)
{
db = std::make_shared<DatabaseManager>("192.168.1.94", "deloitte", "postgres", "34rjkciea12", dryMode);
db = std::make_shared<DatabaseManager>("192.168.1.4", "deloitte", "postgres", "34rjkciea12", dryMode);
//db = std::make_shared<DatabaseManager>("localhost", "deloitte", "postgres", "34rjkciea12");
if (db->isOpen()){
Logger::setDBMan(db);
nextLastSync = db->getNow();
lastSync = db->getLastSync();
connect(db.get(), &DatabaseManager::error, this, &DataManager::error);
}
connect(db.get(), &DatabaseManager::error, this, &DataManager::error, Qt::QueuedConnection);
}
// load all tokens from colnod to comparing with working set from DB
@ -77,6 +79,7 @@ void DataManager::fillSubjectsToUpdateColnod(const QString& response)
// load working sets with updated/deleted tokens from DB
void DataManager::fillTokensToChangeDB()
{
if (db->isOpen()){
QSqlQuery query = db->getUpdatedTokens();
while (query.next())
{
@ -91,6 +94,9 @@ void DataManager::fillTokensToChangeDB()
}
qDebug() << "DB:" << tokensToUpdateFromDBToColnod.size() << "tokens to update";
qDebug() << "DB:" << tokensFromDBToDeleteFromColnod.size() << "tokens to delete";
}
else
emit error();
}
void DataManager::fillSubjectsToUpdateDB()
@ -278,6 +284,7 @@ void DataManager::clear()
// on the very end of sync update last sync time to begin time of this sync
void DataManager::updateLastSync()
{
if (db->isOpen())
db->updateLastSync(nextLastSync);
}

View File

@ -50,6 +50,8 @@ public:
const quint64 &getLastSync() {return lastSync;}
const quint64 &getCurrentSync() {return nextLastSync;}
bool isDBOpened() {return db->isOpen();}
public slots:
void clear();
void setLastUpdate();

View File

@ -1,4 +1,5 @@
#include "logger.h"
#include "databasemanager.h"
#include <utility>
@ -24,7 +25,7 @@ void Logger::log(const QString& msg)
void Logger::logToDb(const QString &msg)
{
Q_ASSERT(Logger::dbMan);
if (dbMan)
Logger::dbMan->log(msg);
}

View File

@ -3,7 +3,9 @@
#include <QString>
#include <QDebug>
#include <QSqlDatabase>
#include "databasemanager.h"
#include <memory>
class DatabaseManager;
class Logger

View File

@ -1,13 +1,12 @@
#include "syncmanager.h"
SyncManager::SyncManager(bool dryMode)
:dryMode(dryMode)
{
reqMan = std::make_unique<RequestManager>();
dataMan = std::make_unique<DataManager>(dryMode);
this->dryMode = dryMode;
connect(reqMan.get(), &RequestManager::error, this, &SyncManager::error);
connect(dataMan.get(), &DataManager::error, this, &SyncManager::error);
connect(reqMan.get(), &RequestManager::error, this, &SyncManager::error, Qt::QueuedConnection);
connect(dataMan.get(), &DataManager::error, this, &SyncManager::error, Qt::QueuedConnection);
}
void SyncManager::loadDataFromColnod()
@ -125,8 +124,10 @@ void SyncManager::syncDataFromDBToColnod()
if (!dataMan->getTokensToDeleteDB().isEmpty()){
syncDeletedDataFromDBToColnod();
}
else
else{
deleteFinished = true;
areDataUpdatedToColnod();
}
}
// add or update tokens to Colnod
@ -184,6 +185,11 @@ void SyncManager::prepareDatabase()
dataMan->emptyDatabase();
}
bool SyncManager::isValid()
{
return dataMan->isDBOpened();
}
// emit signal when all data is downloaded from Colnod
void SyncManager::areChangedDataReady()
{

View File

@ -17,6 +17,8 @@ public:
void prepareDatabase();
bool isValid();
public slots:
void loadDataFromColnod();
void loadDataFromDB();

View File

@ -7,14 +7,14 @@ void UnitTest::initTestCase()
void UnitTest::loginSuccessfully()
{
auto testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(successLogin()));
RequestManager testAccess;
QSignalSpy spy(&testAccess, &RequestManager::successLogin);
QVERIFY(spy.isValid());
testAccess->login();
testAccess.login();
spy.wait(timeout);
QCOMPARE(spy.count(), 1);
QString json = testAccess->jsonResponse;
QString json = testAccess.jsonResponse;
qDebug() << json;
QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8());
QVERIFY2(doc.object().value("id").isString(), "No parameter 'id' in response");
@ -23,14 +23,12 @@ void UnitTest::loginSuccessfully()
//POST request w/o datas
void UnitTest::getSubjects()
{
auto* testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
RequestManager testAccess;
QSignalSpy spy(&testAccess, &RequestManager::responseReady);
QVERIFY(spy.isValid());
Response* response = testAccess->getSubjects();
Response* response = testAccess.getSubjects();
QSignalSpy spy1(response, &Response::ready);
spy.wait(timeout);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy1.count(), 1);
QString json = response->getJson();
@ -39,13 +37,13 @@ void UnitTest::getSubjects()
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()
{
auto* testAccess = new RequestManager();
Response* response = testAccess->getTokens();
RequestManager testAccess;
Response* response = testAccess.getTokens();
QSignalSpy spy(response, &Response::ready);
QCOMPARE(spy.count(), 0);
spy.wait(timeout);
@ -57,149 +55,161 @@ void UnitTest::getTokens()
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()
{
auto* testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
Response* response = testAccess->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()
{
auto* testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
Response* response = testAccess->getSubjectsUpdated(epochMS);
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()
{
auto* testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
Response* response = testAccess->getSubjectsDeleted(epochMS);
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()
{
auto* testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
Response* response = testAccess->getTokensUpdated(epochMS);
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()
{
auto* testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
Response* response = testAccess->getTokensDeleted(epochMS);
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()
{
auto* testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
Response* response = testAccess->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()
{
auto* testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
Response* response = testAccess->getAccessGroupsUpdated(epochMS);
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()
{
auto* testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
Response* response = testAccess->getAccessGroupsDeleted(epochMS);
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()
{
auto* testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
Response* response = testAccess->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()
{
auto* testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
Response* response = testAccess->getAccessGroupMembershipUpdated(epochMS);
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()
{
auto* testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
Response* response = testAccess->getAccessGroupMembershipDeleted(epochMS);
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()
@ -208,139 +218,65 @@ void UnitTest::setTokens()
QHash<QString, std::shared_ptr<Token>> tokens;
auto token = getTestToken();
tokens.insert(token->idToStringWithoutBraces(), token);
auto testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
Response* response = testAccess->setTokens(tokens);
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()
{
auto* testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
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);
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()
{
/*
QFile jsonData(QDir::current().filePath("subjects.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();
*/
auto* testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
Response* response = testAccess->getSubjects();
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();
auto testSubject = new Subject();
testSubject->fromJSON(arr[1].toObject());
qDebug() << testSubject->getName() << " Size: " << arr.size();
QVERIFY(!testSubject->getName().isEmpty());
Subject testSubject;
testSubject.fromJSON(arr[1].toObject());
qDebug() << testSubject.getName() << " Size: " << arr.size();
QVERIFY(!testSubject.getName().isEmpty());
response->deleteLater();
}
void UnitTest::tokenJSONParser()
{
auto* testAccess = new RequestManager();
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
Response* response = testAccess->getTokens();
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();
auto testToken = new Token();
testToken->fromJSON(arr[5].toObject());
qDebug() << testToken->getName() << " Size: " << arr.size();
QVERIFY(!testToken->getName().isEmpty());
}
//void UnitTest::connectToDB()
//{
// DatabaseManager *db = new DatabaseManager("192.168.1.94", "deloitte", "postgres", "34rjkciea12");
// QVERIFY(db->getOpened());
// qDebug() << db->getTestMessage(1);
// QVERIFY(true);
// QCOMPARE(db->getTestMessage(1), QStringLiteral("Hello world"));
// QCOMPARE(db->getTestMessage(db->createTestRecord("Now it's diffrent")), QStringLiteral("Now it's diffrent"));
//}
/*
void UnitTest::debugConnection()
{
QSslSocket ssl;// = new QSslSocket();
ssl.connectToHostEncrypted("192.168.1.3", 8443);
ssl.ignoreSslErrors();
if (!ssl.waitForEncrypted())
{
qDebug() << ssl.errorString();
}
QString tmp = "POST /AaaManager/authSession HTTP/1.1\r\nHost: 192.168.1.3:8443\r\nAuthorization: Basic c3BhY2V0aTpFN0ZFQTA3REJDODJGQjlCQTM0QjJFNDUzRTJFRkU4OUYwNTgzRTcxODc1NDM1MDdFRjExRTg0NzI2MDcxRkU0Mjg0NDUzNzJGMkU0NkI0NTVFQjBDNzk3NDdDNTFFMzYyRjQwM0NFMzk0NzNBMkE4QzJERkEwQ0U1Qzk4MjZDMA==\r\nUser-Agent: curl/7.65.3\r\nAccept: **\r\nContent-Type: application/json\r\nContent-Length: 164\r\n\r\n{\"password\":\"E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0\",\"username\":\"spaceti\"}";
qDebug().noquote() << tmp.toUtf8();
ssl.write(tmp.toUtf8());
QString data;
while (ssl.waitForReadyRead() && data.isEmpty())
{
data.append(ssl.readAll().data());
}
qDebug().noquote() << data;
int index = data.lastIndexOf("id");
QString tkn = data.mid( index + 5, 36);
tkn = tkn + ":";
qDebug() << "parsed token : " <<tkn;
tmp = "POST /SubjectManager/getSubjects HTTP/1.1\r\nHost: 192.168.1.3:8443\r\nAuthorization: Basic " + tkn.toUtf8().toBase64() + "\r\nUser-Agent: curl/7.65.3\r\nAccept: **\r\n\r\n";
QFile file("output1234.txt");
file.open(QIODevice::ReadWrite);
QTextStream st(&file);
st << tmp;
file.close();
qDebug().noquote() << tmp.toUtf8();
ssl.write(tmp.toUtf8());
while (ssl.waitForReadyRead())
{
qDebug() << ssl.readAll().data();
}
qDebug() << ssl.errorString();
QVERIFY(true);
}
*/
void UnitTest::saveDataToDB()
{
// dataMan->localSaveTokens();
QVERIFY(true);
}
void UnitTest::getUuid()
{
qDebug() << QUuid::createUuid().toString().mid(1,36);
QCOMPARE(1,1);
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()

View File

@ -37,11 +37,6 @@ private slots:
void deleteTokens();
void subjectJSONParser();
void tokenJSONParser();
//void connectToDB();
//void debugConnection();
void saveDataToDB();
void getUuid();
private:
std::shared_ptr<Token> getTestToken();