summaryrefslogtreecommitdiff
path: root/test/testdb-mysql.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2021-06-13 01:09:01 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2021-06-13 01:09:01 +0100
commit6b453d0f0f50dccd0333d0d6e8cd0246e86d24a9 (patch)
tree5ca0f7347d41c1a0634123298963f7a8f9795a7d /test/testdb-mysql.cpp
parentAvoid direct use of runtime_error in PostgreSQL stuff (diff)
downloadmygrate-6b453d0f0f50dccd0333d0d6e8cd0246e86d24a9.tar.bz2
mygrate-6b453d0f0f50dccd0333d0d6e8cd0246e86d24a9.tar.xz
mygrate-6b453d0f0f50dccd0333d0d6e8cd0246e86d24a9.zip
Create and drop MySQL mock DBs as needed
Diffstat (limited to 'test/testdb-mysql.cpp')
-rw-r--r--test/testdb-mysql.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/test/testdb-mysql.cpp b/test/testdb-mysql.cpp
index 20ba677..4b6c62e 100644
--- a/test/testdb-mysql.cpp
+++ b/test/testdb-mysql.cpp
@@ -1,4 +1,5 @@
#include "testdb-mysql.h"
+#include <compileTimeFormatter.h>
#include <cstdlib>
#include <helpers.h>
#include <input/mysqlConn.h>
@@ -9,18 +10,25 @@ namespace MyGrate {
const auto USER {MyGrate::getenv("MYGRATE_MYSQL_USER", ::getenv("LOGNAME"))};
const auto PASSWORD {::getenv("MYGRATE_MYSQL_PASSWORD")};
const auto PORT {(unsigned short)std::atoi(MyGrate::getenv("MYGRATE_MYSQL_PORT", "3306"))};
+ std::size_t MySQLDB::mocknum;
- MySQLDB::MySQLDB() : MySQLConn(SERVER, USER, PASSWORD, PORT)
+ MySQLDB::MySQLDB() :
+ MySQLConn(SERVER, USER, PASSWORD, PORT), mockname {scprintf<"mygrate_test_%?_%?">(getpid(), mocknum++)}
{
- query("DROP DATABASE IF EXISTS mygrate_test");
- query("CREATE DATABASE mygrate_test");
- query("USE mygrate_test");
+ query(("DROP DATABASE IF EXISTS " + mockname).c_str());
+ query(("CREATE DATABASE " + mockname).c_str());
}
MySQLDB::~MySQLDB()
{
- query("USE mysql");
- query("DROP DATABASE IF EXISTS mygrate_test");
+ query(("DROP DATABASE IF EXISTS " + mockname).c_str());
+ mockname.clear();
+ }
+
+ Input::MySQLConn
+ MySQLDB::mock() const
+ {
+ return {SERVER, USER, PASSWORD, PORT, mockname.c_str()};
}
}
}