Merge branch 'feat/unittest-database-download' into 'master'

Implement basic unit tests for download data and open database

See merge request spaceti-app/integrations/acs/colnod-connector!26
This commit is contained in:
Filip Bucek 2019-11-28 09:07:20 +00:00
commit bdeffc6cc1
4 changed files with 64 additions and 10 deletions

@ -1 +1 @@
Subproject commit 61feac4632372fcf781449da0bf0de14f1793af8
Subproject commit ee08677641fef053a8f6938f9b31e6792cbe7fff

View File

@ -12,13 +12,9 @@ DatabaseAPI::DatabaseAPI(serversdk::DatabaseManager *dbMan, bool dryMode)
mDbMan->setDryMode(dryMode);
}
bool DatabaseAPI::open()
bool DatabaseAPI::open(QString host, QString name, QString user, QString password)
{
return mDbMan->openPostgres(QStringLiteral("192.168.1.94"),
QStringLiteral("deloitte"),
QStringLiteral("postgres"),
QStringLiteral("34rjkciea12"),
QStringLiteral("postgres-connection"));
return mDbMan->openPostgres(host, name, user, password);
}
bool DatabaseAPI::executeQuery(QSqlQuery &query, const QString &statement)

View File

@ -20,7 +20,10 @@ class DatabaseAPI : public QObject
public:
explicit DatabaseAPI(serversdk::DatabaseManager *dbMan, bool dryMode);
bool open();
bool open(QString host = "192.168.1.94",
QString name = "deloitte",
QString user = "postgres",
QString password = "34rjkciea12");
bool executeQuery(QSqlQuery &query, const QString &statement = QString());
@ -58,8 +61,9 @@ signals:
void error();
private:
bool mDryMode;
bool mValid = true;
bool mDryMode;
serversdk::DatabaseManager *mDbMan = nullptr;
std::unique_ptr<serversdk::DatabaseUtils> utils;
};

View File

@ -8,13 +8,19 @@ 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 );
@ -23,6 +29,54 @@ void DatabaseTest::open_database_test()
// 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"