colnod-connector/test/auto/database/tst_databaseapi.cpp

83 lines
2.0 KiB
C++

#include <QtTest>
#include "databaseapi.h"
// add necessary includes here
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 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());
}
QTEST_APPLESS_MAIN(DatabaseTest)
#include "tst_databaseapi.moc"