#include #include "serversdk/databasemanager.h" #include "serversdk/databaseutils.h" #include "serversdk/core.h" // add necessary includes here class Names : public serversdk::DatabaseTable { Q_OBJECT TABLE_PROPERTY(int, id, set_id, 0); TABLE_PROPERTY(QString, name, set_name, 0); }; class PostgresqlTest : public QObject { Q_OBJECT public: PostgresqlTest(); ~PostgresqlTest(); private slots: void opendb_test(); void createTable_test(); }; PostgresqlTest::PostgresqlTest() { } PostgresqlTest::~PostgresqlTest() { } void PostgresqlTest::opendb_test() { // Prepare temporary path for database const QString host = "192.168.1.94"; const QString databaseName = "serversdk"; const QString user = "postgres"; const QString password = "34rjkciea12"; serversdk::DatabaseManager db; db.openPostgres(host, databaseName, user, password); QVERIFY(db.isValid()); QVERIFY(db.isOpen()); // Closing database db.close(); QVERIFY(!db.isOpen()); } void PostgresqlTest::createTable_test() { // Prepare temporary path for database const QString host = "192.168.1.94"; const QString databaseName = "serversdk"; const QString user = "postgres"; const QString password = "34rjkciea12"; serversdk::DatabaseManager db; db.openPostgres(host, databaseName, user, password); QVERIFY(db.isValid()); QVERIFY(db.isOpen()); Names names; //Have to drop tabel QSqlQuery dropQuery = db.execPlainSql("DROP TABLE names"); //QVERIFY(dropQuery.isValid()); // CREATE TABLE serversdk::DatabaseUtils utils(&db, "PSQL"); QSqlQuery query = utils.createTable(&names, "names"); //QVERIFY(query.isValid()); // INSERT INTO TABLE names.set_id(2); names.set_name("Testname"); utils.insertIntoTable(&names, "names"); // SELECT FROM TABLE QSqlQuery selectSQL = db.execPlainSql("SELECT * FROM names"); auto listVariantMap = utils.listMapFromQuery(selectSQL); auto list = Names::fromListVariantMap(listVariantMap); // ENSURE SAME QCOMPARE(list.count(), 1); QCOMPARE(list.first()->name(), QStringLiteral("Testname")); QCOMPARE(list.first()->jsonData(), names.jsonData()); } QTEST_APPLESS_MAIN(PostgresqlTest) #include "tst_postgresql.moc"