mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-13 00:00:51 +02:00
115 lines
3.1 KiB
C++
115 lines
3.1 KiB
C++
#include <QtTest>
|
|
|
|
#include "databaseapi.h"
|
|
// add necessary includes here
|
|
#include "token.h"
|
|
|
|
class DatabaseTest : public QObject
|
|
{
|
|
Q_OBJECT
|
|
private slots:
|
|
void open_database_test();
|
|
void open_database_ip_fail_test();
|
|
void open_database_name_fail_test();
|
|
void open_database_user_fail_test();
|
|
void open_database_password_fail_test();
|
|
void download_data_test();
|
|
void download_data_fail_test();
|
|
void get_token_test();
|
|
};
|
|
|
|
void DatabaseTest::open_database_test()
|
|
{
|
|
serversdk::DatabaseManager dbManager;
|
|
DatabaseAPI db(&dbManager, false);
|
|
QVERIFY(db.open());
|
|
|
|
// TODO: fix -> databaseAPI must be able to add credentials to check for wrong one or test wrong IP
|
|
//db.open(user, password, url, etc );
|
|
// then test with wrong credentials
|
|
// QVERIFY(!db.open(worng usernae));
|
|
// QVERIFY(!db.open(worng ip));
|
|
}
|
|
|
|
void DatabaseTest::open_database_ip_fail_test()
|
|
{
|
|
serversdk::DatabaseManager dbManager;
|
|
DatabaseAPI db(&dbManager, false);
|
|
QVERIFY(!db.open("1.1.1.1"));
|
|
}
|
|
|
|
void DatabaseTest::open_database_name_fail_test()
|
|
{
|
|
serversdk::DatabaseManager dbManager;
|
|
DatabaseAPI db(&dbManager, false);
|
|
QVERIFY(!db.open("192.168.1.94", "wrong name"));
|
|
}
|
|
|
|
void DatabaseTest::open_database_user_fail_test()
|
|
{
|
|
serversdk::DatabaseManager dbManager;
|
|
DatabaseAPI db(&dbManager, false);
|
|
QVERIFY(!db.open("192.168.1.94", "delliote", "wrong user"));
|
|
}
|
|
|
|
void DatabaseTest::open_database_password_fail_test()
|
|
{
|
|
serversdk::DatabaseManager dbManager;
|
|
DatabaseAPI db(&dbManager, false);
|
|
QVERIFY(!db.open("192.168.1.94", "delliote", "postgres", "wrong password"));
|
|
}
|
|
|
|
|
|
void DatabaseTest::download_data_test()
|
|
{
|
|
serversdk::DatabaseManager dbManager;
|
|
DatabaseAPI db(&dbManager, false);
|
|
db.open();
|
|
QVERIFY(db.downloadData());
|
|
}
|
|
|
|
void DatabaseTest::download_data_fail_test()
|
|
{
|
|
serversdk::DatabaseManager dbManager;
|
|
DatabaseAPI db(&dbManager, false);
|
|
|
|
// fail open so download data should return nullptr
|
|
db.open("1.1.1.1");
|
|
QVERIFY(!db.downloadData());
|
|
}
|
|
|
|
void DatabaseTest::get_token_test()
|
|
{
|
|
serversdk::DatabaseManager dbManager;
|
|
DatabaseAPI db(&dbManager, false);
|
|
{
|
|
QTest::ignoreMessage(QtWarningMsg, "QSqlQuery::prepare: database not open");
|
|
QTest::ignoreMessage(QtSystemMsg, "ERROR during accessing existing tokens. EXIT");
|
|
QVERIFY(!db.getToken("6c907a42-0401-4403-8af4-9d58eb35cddc"));
|
|
}
|
|
|
|
db.open();
|
|
|
|
auto token = db.getToken("6c907a42-0401-4403-8af4-9d58eb35cddc");
|
|
QVERIFY(token);
|
|
auto compareToken = std::make_shared<Token>();
|
|
compareToken->setId("6c907a42-0401-4403-8af4-9d58eb35cddc");
|
|
compareToken->setName("Losenicky");
|
|
compareToken->setDescription("");
|
|
compareToken->setLastUpdate(QDateTime::fromMSecsSinceEpoch(1543494713260));
|
|
compareToken->setTokenData("AB1EA4D4");
|
|
compareToken->setSubjectId("69c6e3b3-3f23-456f-a6c2-73ef08e589a4");
|
|
QCOMPARE(compareToken, token);
|
|
|
|
auto compareToken1 = std::make_shared<Token>();
|
|
auto token1 = db.getToken("non-existing-id");
|
|
QVERIFY(token1);
|
|
QCOMPARE(compareToken1, token1);
|
|
|
|
}
|
|
|
|
|
|
QTEST_APPLESS_MAIN(DatabaseTest)
|
|
|
|
#include "tst_databaseapi.moc"
|