diff options
Diffstat (limited to 'libdbpp/unittests/testConnection.cpp')
-rw-r--r-- | libdbpp/unittests/testConnection.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/libdbpp/unittests/testConnection.cpp b/libdbpp/unittests/testConnection.cpp index 6d9cd05..ed727de 100644 --- a/libdbpp/unittests/testConnection.cpp +++ b/libdbpp/unittests/testConnection.cpp @@ -78,6 +78,43 @@ BOOST_AUTO_TEST_CASE( parse ) delete mock; } +BOOST_AUTO_TEST_CASE( parse2 ) +{ + auto mock = DB::ConnectionPtr(DB::ConnectionFactory::createNew("MockDb", "doesn't matter")); + std::fstream s; + + s.open((rootDir / "dollarQuote.sql").string()); + mock->executeScript(s, rootDir); + s.close(); + + s.open((rootDir / "scriptDir.sql").string()); + mock->executeScript(s, rootDir); + s.close(); + + s.open((rootDir / "stringParse.sql").string()); + mock->executeScript(s, rootDir); + s.close(); + + BOOST_REQUIRE_THROW({ + s.open((rootDir / "unterminatedComment.sql").string()); + mock->executeScript(s, rootDir); + }, std::runtime_error); + s.close(); + + BOOST_REQUIRE_THROW({ + s.open((rootDir / "unterminatedDollarQuote.sql").string()); + mock->executeScript(s, rootDir); + }, std::runtime_error); + s.close(); + + BOOST_REQUIRE_THROW({ + s.open((rootDir / "unterminatedString.sql").string()); + mock->executeScript(s, rootDir); + }, std::runtime_error); + s.close(); +} + + BOOST_AUTO_TEST_CASE( savepoints ) { auto mock = DB::ConnectionFactory::createNew("MockDb", "doesn't matter"); |