server-sdk/test/auto/request/tst_requestmanager.cpp
2019-11-12 14:13:39 +01:00

68 lines
1.9 KiB
C++

#include <QtTest>
#include "serversdk/requestmanager.h"
#include "serversdk/databasetable.h"
#include "serversdk/core.h"
class LoginTable : public serversdk::DatabaseTable {
Q_OBJECT
TABLE_PROPERTY(QString, username, set_username, "");
TABLE_PROPERTY(QString, password, set_password, "")
};
class Token : public serversdk::DatabaseTable {
Q_OBJECT
TABLE_PROPERTY(QUuid, id, set_id, "");
};
namespace serversdk {
class RequestManagerTest : public QObject
{
Q_OBJECT
private:
Q_SLOT void colnodAuthorization_test();
};
void RequestManagerTest::colnodAuthorization_test()
{
// Colnod
auto login = std::make_unique<LoginTable>();
login->set_username("spaceti");
login->set_password("E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0");
serversdk::RequestManager reqMan;
reqMan.setIgnoreSsl(true);
auto loginRequest = std::make_shared<serversdk::Request>("POST", "https://192.168.1.3:8443/AaaManager/authSession", login->jsonData());
loginRequest->setUserName(login->username());
loginRequest->setPassword(login->password());
QCOMPARE(loginRequest->basicAuthorization(), QStringLiteral("Basic c3BhY2V0aTpFN0ZFQTA3REJDODJGQjlCQTM0QjJFNDUzRTJFRkU4OUYwNTgzRTcxODc1NDM1MDdFRjExRTg0NzI2MDcxRkU0Mjg0NDUzNzJGMkU0NkI0NTVFQjBDNzk3NDdDNTFFMzYyRjQwM0NFMzk0NzNBMkE4QzJERkEwQ0U1Qzk4MjZDMA=="));
QSignalSpy spyFinished(loginRequest.get(), &serversdk::Request::finished);
reqMan.processRequest(loginRequest);
QVERIFY(spyFinished.wait());
QCOMPARE(spyFinished.count(), 1 );
auto data = loginRequest->responseData();
Token token;
QVERIFY(token.id().isNull()); // must be null
token.fromJson(data);
QVERIFY(!token.id().isNull()); // mut not be null ( authentication token )
}
}
QTEST_GUILESS_MAIN(serversdk::RequestManagerTest)
#include "tst_requestmanager.moc"