diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/test-util.cpp | 8 | ||||
-rw-r--r-- | test/test-util.hpp | 14 |
2 files changed, 21 insertions, 1 deletions
diff --git a/test/test-util.cpp b/test/test-util.cpp index feb58c7..4648498 100644 --- a/test/test-util.cpp +++ b/test/test-util.cpp @@ -3,4 +3,12 @@ namespace WebStat { MockDB::MockDB() : DB::PluginMock<PQ::Mock>("webstat", {SRC_DIR / "schema.sql"}, "user=postgres dbname=postgres") { } + + MockDBPool::MockDBPool(std::string name) : DB::BasicConnectionPool(1, 1), name {std::move(name)} { } + + DB::ConnectionPtr + MockDBPool::createResource() const + { + return DB::MockDatabase::openConnectionTo(name); + } } diff --git a/test/test-util.hpp b/test/test-util.hpp index 20020f8..5b2a968 100644 --- a/test/test-util.hpp +++ b/test/test-util.hpp @@ -1,7 +1,8 @@ #pragma once -#include "pq-mock.h" +#include <connectionPool.h> #include <filesystem> +#include <pq-mock.h> namespace WebStat { #define XSTR(s) STR(s) @@ -20,5 +21,16 @@ namespace WebStat { MockDB(); }; + class MockDBPool : public DB::BasicConnectionPool { + public: + MockDBPool(std::string); + + protected: + DB::ConnectionPtr createResource() const; + + private: + std::string name; + }; + template<typename Out> using ParseData = std::tuple<std::string_view, Out>; } |