backend tests progress

This commit is contained in:
2024-01-29 07:22:28 +01:00
parent 615143efb0
commit 47848ff674
21 changed files with 410 additions and 27 deletions
+3 -3
View File
@@ -33,7 +33,9 @@ add_executable(tests QueryBuilderTest.cpp
TypeTraitsTest.cpp
Databases.hpp
models/optional.hpp
ConvertTest.cpp)
ConvertTest.cpp
DummyConnection.hpp
DummyConnection.cpp)
target_link_libraries(tests PRIVATE
Catch2::Catch2WithMain
@@ -42,5 +44,3 @@ target_link_libraries(tests PRIVATE
${SQLite3_LIBRARIES}
${PostgreSQL_LIBRARY})
target_include_directories(tests PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>/include)
add_test(NAME matador_tests COMMAND tests)
+4 -3
View File
@@ -1,12 +1,13 @@
#include <catch2/catch_test_macros.hpp>
#include <matador/sql/connection.hpp>
#include <matador/sql/connection_pool.hpp>
#include "DummyConnection.hpp"
using namespace matador::sql;
TEST_CASE("Create connection pool", "[connection pool]") {
using pool_t = connection_pool<connection>;
using pool_t = connection_pool<matador::test::DummyConnection>;
pool_t pool("sqlite://sqlite.db", 4);
@@ -50,7 +51,7 @@ TEST_CASE("Create connection pool", "[connection pool]") {
}
TEST_CASE("Acquire connection by id", "[connection pool]") {
using pool_t = connection_pool<connection>;
using pool_t = connection_pool<matador::test::DummyConnection>;
pool_t pool("sqlite://sqlite.db", 4);
+4 -4
View File
@@ -3,8 +3,8 @@
struct Postgres
{
// constexpr static const char *dns{"postgres://test:test123@127.0.0.1:15432/test"};
constexpr static const char *dns{"postgres://test:test123@127.0.0.1:5432/matador_test"};
constexpr static const char *dns{"postgres://test:test123@127.0.0.1:15432/test"};
// constexpr static const char *dns{"postgres://test:test123@127.0.0.1:5432/matador_test"};
};
struct Sqlite
@@ -14,8 +14,8 @@ struct Sqlite
struct MySql
{
// constexpr static const char *dns{"mysql://test:test123!@127.0.0.1:3306/testdb"};
constexpr static const char *dns{"mysql://test:test123!@127.0.0.1:3306/matador_test"};
constexpr static const char *dns{"mysql://test:test123!@127.0.0.1:3306/testdb"};
// constexpr static const char *dns{"mysql://test:test123!@127.0.0.1:3306/matador_test"};
};
#endif //QUERY_DATABASES_HPP
+28
View File
@@ -0,0 +1,28 @@
#include "DummyConnection.hpp"
namespace matador::test {
DummyConnection::DummyConnection(sql::connection_info info)
: connection_info_(std::move(info))
{}
DummyConnection::DummyConnection(const std::string &dns)
: DummyConnection(sql::connection_info::parse(dns))
{}
void DummyConnection::open()
{
is_open_ = true;
}
void DummyConnection::close()
{
is_open_ = false;
}
bool DummyConnection::is_open() const
{
return is_open_;
}
}
+30
View File
@@ -0,0 +1,30 @@
#ifndef QUERY_DUMMYCONNECTION_HPP
#define QUERY_DUMMYCONNECTION_HPP
#include "matador/sql/connection_info.hpp"
namespace matador::test {
class DummyConnection
{
public:
explicit DummyConnection(sql::connection_info info);
explicit DummyConnection(const std::string& dns);
DummyConnection(const DummyConnection &x) = default;
DummyConnection& operator=(const DummyConnection &x) = default;
DummyConnection(DummyConnection &&x) noexcept = default;
DummyConnection& operator=(DummyConnection &&x) noexcept = default;
~DummyConnection() = default;
void open();
void close();
[[nodiscard]] bool is_open() const;
private:
sql::connection_info connection_info_;
bool is_open_{};
};
}
#endif //QUERY_DUMMYCONNECTION_HPP