[Unit Test] SQLite mini-ORM unit tests and cleanup #14
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
This commit is contained in:
parent
62a75bcddd
commit
a523d1ca66
@ -29,16 +29,17 @@
|
|||||||
#include "utils/path.hpp"
|
#include "utils/path.hpp"
|
||||||
|
|
||||||
namespace repertory {
|
namespace repertory {
|
||||||
TEST(database, db_delete_query) {
|
class database_test : public ::testing::Test {
|
||||||
console_consumer consumer1;
|
public:
|
||||||
event_system::instance().start();
|
static console_consumer cs;
|
||||||
{
|
|
||||||
db::db3_t db3;
|
db::db3_t db3;
|
||||||
{
|
|
||||||
|
void SetUp() override {
|
||||||
|
event_system::instance().start();
|
||||||
|
|
||||||
sqlite3 *db3_ptr{nullptr};
|
sqlite3 *db3_ptr{nullptr};
|
||||||
auto res = sqlite3_open_v2(
|
auto res = sqlite3_open_v2(
|
||||||
utils::path::combine(test::get_test_input_dir(), {"test.db3"})
|
utils::path::combine(test::get_test_input_dir(), {"test.db3"}).c_str(),
|
||||||
.c_str(),
|
|
||||||
&db3_ptr, SQLITE_OPEN_READWRITE, nullptr);
|
&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);
|
||||||
@ -46,32 +47,20 @@ TEST(database, db_delete_query) {
|
|||||||
db3.reset(db3_ptr);
|
db3.reset(db3_ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TearDown() override {
|
||||||
|
db3.reset();
|
||||||
|
event_system::instance().stop();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
TEST_F(database_test, db_delete_query) {
|
||||||
auto query = db::db_delete{*db3.get(), "table"};
|
auto query = db::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());
|
||||||
}
|
}
|
||||||
|
|
||||||
event_system::instance().stop();
|
TEST_F(database_test, db_delete_where_query) {
|
||||||
}
|
|
||||||
|
|
||||||
TEST(database, db_delete_where_query) {
|
|
||||||
console_consumer consumer1;
|
|
||||||
event_system::instance().start();
|
|
||||||
{
|
|
||||||
db::db3_t db3;
|
|
||||||
{
|
|
||||||
sqlite3 *db3_ptr{nullptr};
|
|
||||||
auto res = sqlite3_open_v2(
|
|
||||||
utils::path::combine(test::get_test_input_dir(), {"test.db3"})
|
|
||||||
.c_str(),
|
|
||||||
&db3_ptr, SQLITE_OPEN_READWRITE, nullptr);
|
|
||||||
ASSERT_EQ(SQLITE_OK, res);
|
|
||||||
ASSERT_TRUE(db3_ptr != nullptr);
|
|
||||||
|
|
||||||
db3.reset(db3_ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
auto query = db::db_delete{*db3.get(), "table"}
|
auto query = db::db_delete{*db3.get(), "table"}
|
||||||
.where("column1")
|
.where("column1")
|
||||||
.equals("test1")
|
.equals("test1")
|
||||||
@ -79,61 +68,21 @@ TEST(database, db_delete_where_query) {
|
|||||||
.equals("test2");
|
.equals("test2");
|
||||||
auto query_str = query.dump();
|
auto query_str = query.dump();
|
||||||
std::cout << query_str << std::endl;
|
std::cout << query_str << std::endl;
|
||||||
EXPECT_STREQ(
|
EXPECT_STREQ(R"(DELETE FROM "table" WHERE ("column1"=?1 AND "column2"=?2);)",
|
||||||
R"(DELETE FROM "table" WHERE ("column1"=?1 AND "column2"=?2);)",
|
|
||||||
query_str.c_str());
|
query_str.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
event_system::instance().stop();
|
TEST_F(database_test, db_insert_query) {
|
||||||
}
|
|
||||||
|
|
||||||
TEST(database, db_insert_query) {
|
|
||||||
console_consumer consumer1;
|
|
||||||
event_system::instance().start();
|
|
||||||
{
|
|
||||||
db::db3_t db3;
|
|
||||||
{
|
|
||||||
sqlite3 *db3_ptr{nullptr};
|
|
||||||
auto res = sqlite3_open_v2(
|
|
||||||
utils::path::combine(test::get_test_input_dir(), {"test.db3"})
|
|
||||||
.c_str(),
|
|
||||||
&db3_ptr, SQLITE_OPEN_READWRITE, nullptr);
|
|
||||||
ASSERT_EQ(SQLITE_OK, res);
|
|
||||||
ASSERT_TRUE(db3_ptr != nullptr);
|
|
||||||
|
|
||||||
db3.reset(db3_ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
auto query = db::db_insert{*db3.get(), "table"}
|
auto query = db::db_insert{*db3.get(), "table"}
|
||||||
.column_value("column1", "test9")
|
.column_value("column1", "test9")
|
||||||
.column_value("column2", "test9");
|
.column_value("column2", "test9");
|
||||||
auto query_str = query.dump();
|
auto query_str = query.dump();
|
||||||
std::cout << query_str << std::endl;
|
std::cout << query_str << std::endl;
|
||||||
EXPECT_STREQ(
|
EXPECT_STREQ(R"(INSERT INTO "table" ("column1", "column2") VALUES (?1, ?2);)",
|
||||||
R"(INSERT INTO "table" ("column1", "column2") VALUES (?1, ?2);)",
|
|
||||||
query_str.c_str());
|
query_str.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
event_system::instance().stop();
|
TEST_F(database_test, db_insert_or_replace_query) {
|
||||||
}
|
|
||||||
|
|
||||||
TEST(database, db_insert_or_replace_query) {
|
|
||||||
console_consumer consumer1;
|
|
||||||
event_system::instance().start();
|
|
||||||
{
|
|
||||||
db::db3_t db3;
|
|
||||||
{
|
|
||||||
sqlite3 *db3_ptr{nullptr};
|
|
||||||
auto res = sqlite3_open_v2(
|
|
||||||
utils::path::combine(test::get_test_input_dir(), {"test.db3"})
|
|
||||||
.c_str(),
|
|
||||||
&db3_ptr, SQLITE_OPEN_READWRITE, nullptr);
|
|
||||||
ASSERT_EQ(SQLITE_OK, res);
|
|
||||||
ASSERT_TRUE(db3_ptr != nullptr);
|
|
||||||
|
|
||||||
db3.reset(db3_ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
auto query = db::db_insert{*db3.get(), "table"}
|
auto query = db::db_insert{*db3.get(), "table"}
|
||||||
.or_replace()
|
.or_replace()
|
||||||
.column_value("column1", "test1")
|
.column_value("column1", "test1")
|
||||||
@ -145,52 +94,14 @@ TEST(database, db_insert_or_replace_query) {
|
|||||||
query_str.c_str());
|
query_str.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
event_system::instance().stop();
|
TEST_F(database_test, db_select_query) {
|
||||||
}
|
|
||||||
|
|
||||||
TEST(database, db_select_query) {
|
|
||||||
console_consumer consumer1;
|
|
||||||
event_system::instance().start();
|
|
||||||
{
|
|
||||||
db::db3_t db3;
|
|
||||||
{
|
|
||||||
sqlite3 *db3_ptr{nullptr};
|
|
||||||
auto res = sqlite3_open_v2(
|
|
||||||
utils::path::combine(test::get_test_input_dir(), {"test.db3"})
|
|
||||||
.c_str(),
|
|
||||||
&db3_ptr, SQLITE_OPEN_READWRITE, nullptr);
|
|
||||||
ASSERT_EQ(SQLITE_OK, res);
|
|
||||||
ASSERT_TRUE(db3_ptr != nullptr);
|
|
||||||
|
|
||||||
db3.reset(db3_ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
auto query = db::db_select{*db3.get(), "table"};
|
auto query = db::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());
|
||||||
}
|
}
|
||||||
|
|
||||||
event_system::instance().stop();
|
TEST_F(database_test, db_select_where_query) {
|
||||||
}
|
|
||||||
|
|
||||||
TEST(database, db_select_where_query) {
|
|
||||||
console_consumer consumer1;
|
|
||||||
event_system::instance().start();
|
|
||||||
{
|
|
||||||
db::db3_t db3;
|
|
||||||
{
|
|
||||||
sqlite3 *db3_ptr{nullptr};
|
|
||||||
auto res = sqlite3_open_v2(
|
|
||||||
utils::path::combine(test::get_test_input_dir(), {"test.db3"})
|
|
||||||
.c_str(),
|
|
||||||
&db3_ptr, SQLITE_OPEN_READWRITE, nullptr);
|
|
||||||
ASSERT_EQ(SQLITE_OK, res);
|
|
||||||
ASSERT_TRUE(db3_ptr != nullptr);
|
|
||||||
|
|
||||||
db3.reset(db3_ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
auto query = db::db_select{*db3.get(), "table"}
|
auto query = db::db_select{*db3.get(), "table"}
|
||||||
.where("column1")
|
.where("column1")
|
||||||
.equals("test1")
|
.equals("test1")
|
||||||
@ -201,47 +112,9 @@ TEST(database, db_select_where_query) {
|
|||||||
EXPECT_STREQ(
|
EXPECT_STREQ(
|
||||||
R"(SELECT * FROM "table" WHERE ("column1"=?1 AND "column2"=?2);)",
|
R"(SELECT * FROM "table" WHERE ("column1"=?1 AND "column2"=?2);)",
|
||||||
query_str.c_str());
|
query_str.c_str());
|
||||||
// auto res = query.go();
|
|
||||||
//
|
|
||||||
// EXPECT_TRUE(res.ok());
|
|
||||||
// EXPECT_TRUE(res.has_row());
|
|
||||||
// std::size_t row_count{};
|
|
||||||
// while (res.has_row()) {
|
|
||||||
// std::optional<db::db_select::row> row;
|
|
||||||
// EXPECT_TRUE(res.get_row(row));
|
|
||||||
// EXPECT_TRUE(row.has_value());
|
|
||||||
// if (row.has_value()) {
|
|
||||||
// for (const auto &column : row.value().get_columns()) {
|
|
||||||
// std::cout << column.get_index() << ':';
|
|
||||||
// std::cout << column.get_name() << ':';
|
|
||||||
// std::cout << column.get_value<std::string>() << std::endl;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// ++row_count;
|
|
||||||
// }
|
|
||||||
// EXPECT_EQ(std::size_t(1U), row_count);
|
|
||||||
}
|
|
||||||
|
|
||||||
event_system::instance().stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST(database, db_select_columns_query) {
|
|
||||||
console_consumer consumer1;
|
|
||||||
event_system::instance().start();
|
|
||||||
{
|
|
||||||
db::db3_t db3;
|
|
||||||
{
|
|
||||||
sqlite3 *db3_ptr{nullptr};
|
|
||||||
auto res = sqlite3_open_v2(
|
|
||||||
utils::path::combine(test::get_test_input_dir(), {"test.db3"})
|
|
||||||
.c_str(),
|
|
||||||
&db3_ptr, SQLITE_OPEN_READWRITE, nullptr);
|
|
||||||
ASSERT_EQ(SQLITE_OK, res);
|
|
||||||
ASSERT_TRUE(db3_ptr != nullptr);
|
|
||||||
|
|
||||||
db3.reset(db3_ptr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(database_test, db_select_columns_query) {
|
||||||
auto query = db::db_select{*db3.get(), "table"}
|
auto query = db::db_select{*db3.get(), "table"}
|
||||||
.column("column1")
|
.column("column1")
|
||||||
.column("column2")
|
.column("column2")
|
||||||
@ -256,26 +129,7 @@ TEST(database, db_select_columns_query) {
|
|||||||
query_str.c_str());
|
query_str.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
event_system::instance().stop();
|
TEST_F(database_test, db_update_query) {
|
||||||
}
|
|
||||||
|
|
||||||
TEST(database, db_update_query) {
|
|
||||||
console_consumer consumer1;
|
|
||||||
event_system::instance().start();
|
|
||||||
{
|
|
||||||
db::db3_t db3;
|
|
||||||
{
|
|
||||||
sqlite3 *db3_ptr{nullptr};
|
|
||||||
auto res = sqlite3_open_v2(
|
|
||||||
utils::path::combine(test::get_test_input_dir(), {"test.db3"})
|
|
||||||
.c_str(),
|
|
||||||
&db3_ptr, SQLITE_OPEN_READWRITE, nullptr);
|
|
||||||
ASSERT_EQ(SQLITE_OK, res);
|
|
||||||
ASSERT_TRUE(db3_ptr != nullptr);
|
|
||||||
|
|
||||||
db3.reset(db3_ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
auto query = db::db_update{*db3.get(), "table"}
|
auto query = db::db_update{*db3.get(), "table"}
|
||||||
.column_value("column1", "moose")
|
.column_value("column1", "moose")
|
||||||
.where("column1")
|
.where("column1")
|
||||||
@ -289,9 +143,6 @@ TEST(database, db_update_query) {
|
|||||||
query_str.c_str());
|
query_str.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
event_system::instance().stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
// auto res = query.go();
|
// auto res = query.go();
|
||||||
//
|
//
|
||||||
// EXPECT_TRUE(res.ok());
|
// EXPECT_TRUE(res.ok());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user