Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
Loading...
Searching...
No Matches
database_test_utils.h File Reference
#include "database/core/database_backend.h"
#include "mock_database.h"
#include "mock_backend.h"
#include <string>
#include <vector>
#include <chrono>
#include <functional>
Include dependency graph for database_test_utils.h:

Go to the source code of this file.

Classes

class  database::testing::test_timer
 Simple timer for performance testing. More...
 
class  database::testing::scoped_test_database
 RAII wrapper for test database setup/teardown. More...
 

Namespaces

namespace  database
 
namespace  database::testing
 
namespace  database::testing::fixtures
 Test fixture helpers.
 
namespace  database::testing::assertions
 Query assertion helpers.
 

Functions

core::database_result database::testing::make_result (std::initializer_list< core::database_row > rows)
 Helper function to create test data rows.
 
core::database_row database::testing::make_row (std::initializer_list< std::pair< std::string, core::database_value > > fields)
 Create a single row.
 
template<typename T >
core::database_value database::testing::make_value (const T &val)
 Create a database_value from common types.
 
core::database_value database::testing::make_null ()
 Create a NULL value.
 
core::database_result database::testing::generate_test_data (size_t count, std::function< core::database_row(size_t index)> row_generator)
 Generate test data for a table.
 
core::database_result database::testing::generate_sequential_ids (size_t count, const std::string &id_column="id")
 Generate sequential integer test data.
 
core::database_result database::testing::fixtures::users_data ()
 Standard user table data.
 
core::database_result database::testing::fixtures::products_data ()
 Standard products table data.
 
core::database_result database::testing::fixtures::empty_result ()
 Empty result.
 
bool database::testing::assertions::has_rows (const core::database_result &result, size_t expected)
 Check if result contains expected number of rows.
 
bool database::testing::assertions::is_empty (const core::database_result &result)
 Check if result is empty.
 
template<typename T >
bool database::testing::assertions::contains_field_value (const core::database_result &result, const std::string &field, const T &value)
 Check if result contains a row with specific field value.
 
template<typename T >
bool database::testing::assertions::is_success (const kcenon::common::Result< T > &result)
 Check if a Result<T> is successful.
 
template<typename T >
bool database::testing::assertions::is_error (const kcenon::common::Result< T > &result)
 Check if a Result<T> is an error.
 
bool database::testing::assertions::is_success (const kcenon::common::VoidResult &result)
 Check if a VoidResult is successful.
 
bool database::testing::assertions::is_error (const kcenon::common::VoidResult &result)
 Check if a VoidResult is an error.