summaryrefslogtreecommitdiff
path: root/test/test-mysql.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2021-05-24 01:01:30 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2021-05-24 01:01:30 +0100
commit15c1e5566f7ad8448985ca6e52805ceb4ec389a8 (patch)
tree14908b221d01cca00975da84656adcea57898620 /test/test-mysql.cpp
parentMinor tidy up of replStream (diff)
downloadmygrate-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.cpp25
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);
+}