Clang: Cleanup transaction statements in the database

Change-Id: I795248492fe952c230fd3a9cf8bf16f3c831f161
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
Marco Bubke
2018-04-04 10:38:04 +02:00
parent 1b9469aa85
commit 9d7225d283
7 changed files with 169 additions and 58 deletions

View File

@@ -47,12 +47,27 @@ using Sqlite::Table;
class SqliteDatabase : public ::testing::Test
{
protected:
void SetUp() override;
void TearDown() override;
void SetUp() override
{
database.setJournalMode(JournalMode::Memory);
database.setDatabaseFilePath(databaseFilePath);
auto &table = database.addTable();
table.setName("test");
table.addColumn("name");
database.open();
}
void TearDown() override
{
if (database.isOpen())
database.close();
}
SpyDummy spyDummy;
QString databaseFilePath = QStringLiteral(":memory:");
QString databaseFilePath{":memory:"};
Sqlite::Database database;
Sqlite::TransactionInterface &transactionInterface = database;
};
TEST_F(SqliteDatabase, SetDatabaseFilePath)
@@ -142,53 +157,37 @@ TEST_F(SqliteDatabase, LastRowId)
TEST_F(SqliteDatabase, DeferredBegin)
{
ASSERT_ANY_THROW(database.deferredBegin());
ASSERT_NO_THROW(transactionInterface.deferredBegin());
database.commit();
transactionInterface.commit();
}
TEST_F(SqliteDatabase, ImmediateBegin)
{
ASSERT_ANY_THROW(database.immediateBegin());
ASSERT_NO_THROW(transactionInterface.immediateBegin());
database.commit();
transactionInterface.commit();
}
TEST_F(SqliteDatabase, ExclusiveBegin)
{
ASSERT_ANY_THROW(database.exclusiveBegin());
ASSERT_NO_THROW(transactionInterface.exclusiveBegin());
database.commit();
transactionInterface.commit();
}
TEST_F(SqliteDatabase, Commit)
{
database.deferredBegin();
transactionInterface.deferredBegin();
ASSERT_ANY_THROW(database.commit());
ASSERT_NO_THROW(transactionInterface.commit());
}
TEST_F(SqliteDatabase, Rollback)
{
database.deferredBegin();
transactionInterface.deferredBegin();
ASSERT_ANY_THROW(database.rollback());
ASSERT_NO_THROW(transactionInterface.rollback());
}
void SqliteDatabase::SetUp()
{
database.setJournalMode(JournalMode::Memory);
database.setDatabaseFilePath(databaseFilePath);
auto &table = database.addTable();
table.setName("test");
table.addColumn("name");
database.open();
}
void SqliteDatabase::TearDown()
{
if (database.isOpen())
database.close();
}
}