summaryrefslogtreecommitdiff
path: root/test/test-mysql.cpp
blob: 5a22567726e854ed4b9a2b793fc9c9a75ce09738 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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);
}