fix
This commit is contained in:
parent
14ebdab034
commit
675707b46c
@ -19,42 +19,39 @@
|
|||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
*/
|
*/
|
||||||
#include "test_common.hpp"
|
#include "test.hpp"
|
||||||
|
|
||||||
|
#if defined(PROJECT_ENABLE_SQLITE)
|
||||||
|
|
||||||
#include "utils/db/sqlite/db_common.hpp"
|
#include "utils/db/sqlite/db_common.hpp"
|
||||||
#include "utils/db/sqlite/db_delete.hpp"
|
#include "utils/db/sqlite/db_delete.hpp"
|
||||||
#include "utils/db/sqlite/db_insert.hpp"
|
#include "utils/db/sqlite/db_insert.hpp"
|
||||||
#include "utils/db/sqlite/db_select.hpp"
|
#include "utils/db/sqlite/db_select.hpp"
|
||||||
#include "utils/db/sqlite/db_update.hpp"
|
#include "utils/db/sqlite/db_update.hpp"
|
||||||
#include "utils/path.hpp"
|
|
||||||
|
|
||||||
namespace repertory {
|
namespace repertory {
|
||||||
class database_test : public ::testing::Test {
|
class utils_db_sqlite : public ::testing::Test {
|
||||||
public:
|
public:
|
||||||
static console_consumer cs;
|
|
||||||
utils::db::sqlite::db3_t db3;
|
utils::db::sqlite::db3_t db3;
|
||||||
|
|
||||||
void SetUp() override {
|
void SetUp() override {
|
||||||
event_system::instance().start();
|
|
||||||
|
|
||||||
{
|
{
|
||||||
sqlite3 *db3_ptr{nullptr};
|
sqlite3 *db3_ptr{nullptr};
|
||||||
auto res =
|
auto res = sqlite3_open(":memory:", &db3_ptr);
|
||||||
sqlite3_open_v2(":memory:", &db3_ptr, SQLITE_OPEN_READWRITE, nullptr);
|
|
||||||
ASSERT_EQ(SQLITE_OK, res);
|
ASSERT_EQ(SQLITE_OK, res);
|
||||||
ASSERT_TRUE(db3_ptr != nullptr);
|
ASSERT_TRUE(db3_ptr != nullptr);
|
||||||
db3.reset(db3_ptr);
|
db3.reset(db3_ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
db3_stmt_t db3_stmt;
|
||||||
|
{
|
||||||
std::string sql{
|
std::string sql{
|
||||||
"CREATE TABLE [table] (column1 TEXT PRIMARY KEY UNIQUE "
|
"CREATE TABLE [table] (column1 TEXT PRIMARY KEY UNIQUE "
|
||||||
"NOT NULL, column2 TEXT NOT NULL);",
|
"NOT NULL, column2 TEXT NOT NULL);",
|
||||||
};
|
};
|
||||||
|
|
||||||
db3_stmt_t db3_stmt;
|
|
||||||
{
|
|
||||||
sqlite3_stmt *stmt_ptr{};
|
sqlite3_stmt *stmt_ptr{};
|
||||||
res = sqlite3_prepare_v2(db3_ptr, sql.c_str(), -1, &stmt_ptr, nullptr);
|
res = sqlite3_prepare_v2(db3.get(), sql.c_str(), -1, &stmt_ptr, nullptr);
|
||||||
ASSERT_EQ(SQLITE_OK, res);
|
ASSERT_EQ(SQLITE_OK, res);
|
||||||
db3_stmt.reset(stmt_ptr);
|
db3_stmt.reset(stmt_ptr);
|
||||||
}
|
}
|
||||||
@ -63,10 +60,7 @@ public:
|
|||||||
ASSERT_EQ(SQLITE_DONE, res);
|
ASSERT_EQ(SQLITE_DONE, res);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TearDown() override {
|
void TearDown() override { db3.reset(); }
|
||||||
db3.reset();
|
|
||||||
event_system::instance().stop();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static void common_insert(sqlite3 &db, bool dump = false) {
|
static void common_insert(sqlite3 &db, bool dump = false) {
|
||||||
@ -143,14 +137,14 @@ static void common_delete(sqlite3 &db, bool dump = false) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(database_test, db_delete_query) {
|
TEST_F(utils_db_sqlite, db_delete_query) {
|
||||||
auto query = utils::db::sqlite::db_delete{*db3.get(), "table"};
|
auto query = utils::db::sqlite::db_delete{*db3.get(), "table"};
|
||||||
auto query_str = query.dump();
|
auto query_str = query.dump();
|
||||||
std::cout << query_str << std::endl;
|
std::cout << query_str << std::endl;
|
||||||
EXPECT_STREQ(R"(DELETE FROM "table";)", query_str.c_str());
|
EXPECT_STREQ(R"(DELETE FROM "table";)", query_str.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(database_test, db_delete_where_query) {
|
TEST_F(utils_db_sqlite, db_delete_where_query) {
|
||||||
auto query = utils::db::sqlite::db_delete{*db3.get(), "table"}
|
auto query = utils::db::sqlite::db_delete{*db3.get(), "table"}
|
||||||
.where("column1")
|
.where("column1")
|
||||||
.equals("test1")
|
.equals("test1")
|
||||||
@ -163,7 +157,7 @@ TEST_F(database_test, db_delete_where_query) {
|
|||||||
query_str.c_str());
|
query_str.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(database_test, db_insert_query) {
|
TEST_F(utils_db_sqlite, db_insert_query) {
|
||||||
auto query = utils::db::sqlite::db_insert{*db3.get(), "table"}
|
auto query = utils::db::sqlite::db_insert{*db3.get(), "table"}
|
||||||
.column_value("column1", "test9")
|
.column_value("column1", "test9")
|
||||||
.column_value("column2", "test9");
|
.column_value("column2", "test9");
|
||||||
@ -173,7 +167,7 @@ TEST_F(database_test, db_insert_query) {
|
|||||||
query_str.c_str());
|
query_str.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(database_test, db_insert_or_replace_query) {
|
TEST_F(utils_db_sqlite, db_insert_or_replace_query) {
|
||||||
auto query = utils::db::sqlite::db_insert{*db3.get(), "table"}
|
auto query = utils::db::sqlite::db_insert{*db3.get(), "table"}
|
||||||
.or_replace()
|
.or_replace()
|
||||||
.column_value("column1", "test1")
|
.column_value("column1", "test1")
|
||||||
@ -185,14 +179,14 @@ TEST_F(database_test, db_insert_or_replace_query) {
|
|||||||
query_str.c_str());
|
query_str.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(database_test, db_select_query) {
|
TEST_F(utils_db_sqlite, db_select_query) {
|
||||||
auto query = utils::db::sqlite::db_select{*db3.get(), "table"};
|
auto query = utils::db::sqlite::db_select{*db3.get(), "table"};
|
||||||
auto query_str = query.dump();
|
auto query_str = query.dump();
|
||||||
std::cout << query_str << std::endl;
|
std::cout << query_str << std::endl;
|
||||||
EXPECT_STREQ(R"(SELECT * FROM "table";)", query_str.c_str());
|
EXPECT_STREQ(R"(SELECT * FROM "table";)", query_str.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(database_test, db_select_where_query) {
|
TEST_F(utils_db_sqlite, db_select_where_query) {
|
||||||
auto query = utils::db::sqlite::db_select{*db3.get(), "table"}
|
auto query = utils::db::sqlite::db_select{*db3.get(), "table"}
|
||||||
.where("column1")
|
.where("column1")
|
||||||
.equals("test1")
|
.equals("test1")
|
||||||
@ -205,7 +199,7 @@ TEST_F(database_test, db_select_where_query) {
|
|||||||
query_str.c_str());
|
query_str.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(database_test, db_select_where_with_group_query) {
|
TEST_F(utils_db_sqlite, db_select_where_with_group_query) {
|
||||||
auto query =
|
auto query =
|
||||||
utils::db::sqlite::db_select{*db3.get(), "table"}
|
utils::db::sqlite::db_select{*db3.get(), "table"}
|
||||||
.group([](auto &grp) {
|
.group([](auto &grp) {
|
||||||
@ -226,7 +220,7 @@ TEST_F(database_test, db_select_where_with_group_query) {
|
|||||||
query_str.c_str());
|
query_str.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(database_test, db_select_columns_query) {
|
TEST_F(utils_db_sqlite, db_select_columns_query) {
|
||||||
auto query = utils::db::sqlite::db_select{*db3.get(), "table"}
|
auto query = utils::db::sqlite::db_select{*db3.get(), "table"}
|
||||||
.column("column1")
|
.column("column1")
|
||||||
.column("column2")
|
.column("column2")
|
||||||
@ -242,7 +236,7 @@ TEST_F(database_test, db_select_columns_query) {
|
|||||||
query_str.c_str());
|
query_str.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(database_test, db_update_query) {
|
TEST_F(utils_db_sqlite, db_update_query) {
|
||||||
auto query = utils::db::sqlite::db_update{*db3.get(), "table"}
|
auto query = utils::db::sqlite::db_update{*db3.get(), "table"}
|
||||||
.column_value("column1", "moose")
|
.column_value("column1", "moose")
|
||||||
.where("column1")
|
.where("column1")
|
||||||
@ -257,7 +251,7 @@ TEST_F(database_test, db_update_query) {
|
|||||||
query_str.c_str());
|
query_str.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(database_test, insert_select_delete) {
|
TEST_F(utils_db_sqlite, insert_select_delete) {
|
||||||
common_insert(*db3.get(), true);
|
common_insert(*db3.get(), true);
|
||||||
|
|
||||||
common_select(*db3.get(), "test0", "test1", true);
|
common_select(*db3.get(), "test0", "test1", true);
|
||||||
@ -265,7 +259,7 @@ TEST_F(database_test, insert_select_delete) {
|
|||||||
common_delete(*db3.get(), true);
|
common_delete(*db3.get(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(database_test, insert_update_delete) {
|
TEST_F(utils_db_sqlite, insert_update_delete) {
|
||||||
common_insert(*db3.get());
|
common_insert(*db3.get());
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -283,7 +277,7 @@ TEST_F(database_test, insert_update_delete) {
|
|||||||
common_delete(*db3.get());
|
common_delete(*db3.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(database_test, insert_or_replace_and_delete) {
|
TEST_F(utils_db_sqlite, insert_or_replace_and_delete) {
|
||||||
common_insert(*db3.get());
|
common_insert(*db3.get());
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -301,3 +295,5 @@ TEST_F(database_test, insert_or_replace_and_delete) {
|
|||||||
common_delete(*db3.get());
|
common_delete(*db3.get());
|
||||||
}
|
}
|
||||||
} // namespace repertory
|
} // namespace repertory
|
||||||
|
|
||||||
|
#endif // defined(PROJECT_ENABLE_SQLITE)
|
Loading…
x
Reference in New Issue
Block a user