#include #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); 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(); 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(); auto token1 = db.getToken("non-existing-id"); QVERIFY(token1); QCOMPARE(compareToken1, token1); } QTEST_APPLESS_MAIN(DatabaseTest) #include "tst_databaseapi.moc"