summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test-util.cpp8
-rw-r--r--test/test-util.hpp14
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>;
}