summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2021-06-13 14:15:41 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2021-06-13 14:15:41 +0100
commit2b610c8bdef32c4662938f2d0244f85b6acb6b27 (patch)
tree100a3fcd4c9917cf56af024f19af3afe8e5d310d
parentRemember PQ connection string (diff)
downloadmygrate-2b610c8bdef32c4662938f2d0244f85b6acb6b27.tar.bz2
mygrate-2b610c8bdef32c4662938f2d0244f85b6acb6b27.tar.xz
mygrate-2b610c8bdef32c4662938f2d0244f85b6acb6b27.zip
Single implementation for getting MySQL test connection details
-rw-r--r--test/test-mysql.cpp13
-rw-r--r--test/testdb-mysql.cpp8
-rw-r--r--test/testdb-mysql.h7
3 files changed, 16 insertions, 12 deletions
diff --git a/test/test-mysql.cpp b/test/test-mysql.cpp
index e4551f0..8da3f7b 100644
--- a/test/test-mysql.cpp
+++ b/test/test-mysql.cpp
@@ -17,18 +17,14 @@
#include <type_traits>
#include <variant>
-const auto SERVER {MyGrate::getenv("MYGRATE_MYSQL_SERVER", "localhost")};
-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"))};
-
BOOST_AUTO_TEST_CASE(simple)
{
+ using namespace MyGrate::Testing;
BOOST_CHECK_THROW(([]() {
- MyGrate::Input::MySQLConn {SERVER, USER, "badpass", PORT};
+ MyGrate::Input::MySQLConn {MySQLDB::SERVER, MySQLDB::USER, "badpass", MySQLDB::PORT};
}()),
MyGrate::Input::MySQLErr);
- MyGrate::Input::MySQLConn c {SERVER, USER, PASSWORD, PORT};
+ MyGrate::Input::MySQLConn c {MySQLDB::SERVER, MySQLDB::USER, MySQLDB::PASSWORD, MySQLDB::PORT};
BOOST_CHECK_NO_THROW(c.query("SET @var = ''"));
BOOST_CHECK_NO_THROW(c.query("SET @var = 'something'"));
BOOST_CHECK_THROW(c.query("SET @var = "), MyGrate::Input::MySQLErr);
@@ -53,7 +49,8 @@ static_assert(SomeUpdate::paramCount(MyGrate::ParamMode::QMark) == 2);
BOOST_AUTO_TEST_CASE(stmt)
{
- MyGrate::Input::MySQLConn c {SERVER, USER, PASSWORD, PORT};
+ using namespace MyGrate::Testing;
+ MyGrate::Input::MySQLConn c {MySQLDB::SERVER, MySQLDB::USER, MySQLDB::PASSWORD, MySQLDB::PORT};
const auto rs {SomeShow::execute(&c)};
BOOST_REQUIRE(rs);
BOOST_REQUIRE_EQUAL(rs->rows(), 1);
diff --git a/test/testdb-mysql.cpp b/test/testdb-mysql.cpp
index 4b6c62e..17bc241 100644
--- a/test/testdb-mysql.cpp
+++ b/test/testdb-mysql.cpp
@@ -6,10 +6,10 @@
namespace MyGrate {
namespace Testing {
- const auto SERVER {MyGrate::getenv("MYGRATE_MYSQL_SERVER", "localhost")};
- 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"))};
+ const char * const MySQLDB::SERVER {MyGrate::getenv("MYGRATE_MYSQL_SERVER", "localhost")};
+ const char * const MySQLDB::USER {MyGrate::getenv("MYGRATE_MYSQL_USER", ::getenv("LOGNAME"))};
+ const char * const MySQLDB::PASSWORD {::getenv("MYGRATE_MYSQL_PASSWORD")};
+ const unsigned short MySQLDB::PORT {(unsigned short)std::atoi(MyGrate::getenv("MYGRATE_MYSQL_PORT", "3306"))};
std::size_t MySQLDB::mocknum;
MySQLDB::MySQLDB() :
diff --git a/test/testdb-mysql.h b/test/testdb-mysql.h
index 3334e24..c77ade2 100644
--- a/test/testdb-mysql.h
+++ b/test/testdb-mysql.h
@@ -13,6 +13,13 @@ namespace MyGrate {
Input::MySQLConn mock() const;
std::string mockname;
+
+ static const char * const SERVER;
+ static const char * const USER;
+ static const char * const PASSWORD;
+ static const unsigned short PORT;
+
+ private:
static std::size_t mocknum;
};
}