diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-05-24 01:01:30 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-05-24 01:01:30 +0100 |
commit | 15c1e5566f7ad8448985ca6e52805ceb4ec389a8 (patch) | |
tree | 14908b221d01cca00975da84656adcea57898620 /test/test-mysql.cpp | |
parent | Minor tidy up of replStream (diff) | |
download | mygrate-15c1e5566f7ad8448985ca6e52805ceb4ec389a8.tar.bz2 mygrate-15c1e5566f7ad8448985ca6e52805ceb4ec389a8.tar.xz mygrate-15c1e5566f7ad8448985ca6e52805ceb4ec389a8.zip |
Basic support for queries with bound parameters
Bit of a reshuffle to make the types not DB specific, add some basic tests over query
execution, no selects yet and no validation anything is actually right.
Diffstat (limited to 'test/test-mysql.cpp')
-rw-r--r-- | test/test-mysql.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/test-mysql.cpp b/test/test-mysql.cpp new file mode 100644 index 0000000..5a22567 --- /dev/null +++ b/test/test-mysql.cpp @@ -0,0 +1,25 @@ +#define BOOST_TEST_MODULE MySQL +#include <boost/test/unit_test.hpp> + +#include <dbTypes.h> +#include <input/mysqlConn.h> +#include <stdexcept> + +BOOST_AUTO_TEST_CASE(simple) +{ + BOOST_CHECK_THROW(([]() { + MyGrate::Input::MySQLConn {"192.168.1.38", "repl", "repl", 3306}; + }()), + std::runtime_error); + MyGrate::Input::MySQLConn c {"192.168.1.38", "repl", "r3pl", 3306}; + BOOST_CHECK_NO_THROW(c.query("SET @var = ''")); + BOOST_CHECK_NO_THROW(c.query("SET @var = 'something'")); + BOOST_CHECK_THROW(c.query("SET @var = "), std::runtime_error); + BOOST_CHECK_THROW(c.query("SET @var = ?", {}), std::logic_error); + BOOST_CHECK_NO_THROW(c.query("SET @var = ''", {})); + BOOST_CHECK_NO_THROW(c.query("SET @var = ?", {1})); + BOOST_CHECK_NO_THROW(c.query("SET @var = ?", {"string_view"})); + BOOST_CHECK_NO_THROW(c.query("SET @var = ?", {nullptr})); + BOOST_CHECK_NO_THROW(c.query("SET @var = ?", {1.2})); + BOOST_CHECK_THROW(c.query("SET @var = ?", {MyGrate::Time {}}), std::runtime_error); +} |