From df995f71a6af56ff8ff58a91a3abc41fc3073fc4 Mon Sep 17 00:00:00 2001 From: hongshibao Date: Thu, 29 Oct 2015 00:27:22 +0800 Subject: [PATCH] Add executeStepException testcase --- tests/Backup_test.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/Backup_test.cpp b/tests/Backup_test.cpp index b3f3b3e..68888bd 100644 --- a/tests/Backup_test.cpp +++ b/tests/Backup_test.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include @@ -24,10 +25,12 @@ TEST(Backup, executeStep) { srcDB.exec("CREATE TABLE backup_test (id INTEGER PRIMARY KEY, value TEXT)"); ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (1, \"first\")")); ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (2, \"second\")")); + SQLite::Database destDB("backup_test.db3.backup", SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE); SQLite::Backup backup(destDB, srcDB); const int res = backup.executeStep(); ASSERT_EQ(res, SQLITE_DONE); + SQLite::Statement query(destDB, "SELECT * FROM backup_test ORDER BY id ASC"); ASSERT_TRUE(query.executeStep()); EXPECT_EQ(1, query.getColumn(0).getInt()); @@ -35,4 +38,26 @@ TEST(Backup, executeStep) { ASSERT_TRUE(query.executeStep()); EXPECT_EQ(2, query.getColumn(0).getInt()); EXPECT_STREQ("second", query.getColumn(1)); + remove("backup_test.db3"); + remove("backup_test.db3.backup"); +} + +TEST(Backup, executeStepException) { + remove("backup_test.db3"); + remove("backup_test.db3.backup"); + SQLite::Database srcDB("backup_test.db3", SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE); + srcDB.exec("CREATE TABLE backup_test (id INTEGER PRIMARY KEY, value TEXT)"); + ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (1, \"first\")")); + ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (2, \"second\")")); + { + SQLite::Database destDB("backup_test.db3.backup", SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE); + (void)destDB; + } + { + SQLite::Database destDB("backup_test.db3.backup", SQLITE_OPEN_READONLY); + SQLite::Backup backup(destDB, srcDB); + EXPECT_THROW(backup.executeStep(), SQLite::Exception); + } + remove("backup_test.db3"); + remove("backup_test.db3.backup"); }