diff options
Diffstat (limited to 'libdbpp/unittests/testUtils.cpp')
-rw-r--r-- | libdbpp/unittests/testUtils.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/libdbpp/unittests/testUtils.cpp b/libdbpp/unittests/testUtils.cpp index 3108641..4c269e9 100644 --- a/libdbpp/unittests/testUtils.cpp +++ b/libdbpp/unittests/testUtils.cpp @@ -5,6 +5,7 @@ #include <selectcommand.h> #include <selectcommandUtil.impl.h> #include <definedDirs.h> +#include <fstream> #include <pq-mock.h> #include <boost/date_time/posix_time/posix_time_io.hpp> @@ -102,3 +103,28 @@ BOOST_AUTO_TEST_CASE( extract ) BOOST_REQUIRE(!sel->fetch()); } +BOOST_AUTO_TEST_CASE( bulkLoadStream ) +{ + std::ifstream in((rootDir / "source.dat").string()); + auto db = DB::ConnectionPtr(DB::MockDatabase::openConnectionTo("pqmock")); + db->beginBulkUpload("bulk1", ""); + BOOST_REQUIRE_EQUAL(56, db->bulkUploadData(in)); + db->endBulkUpload(nullptr); + db->select("SELECT COUNT(*) FROM bulk1")->forEachRow<int64_t>([](auto n) { + BOOST_REQUIRE_EQUAL(4, n); + }); +} + +BOOST_AUTO_TEST_CASE( bulkLoadFile ) +{ + auto f = fopen((rootDir / "source.dat").c_str(), "r"); + auto db = DB::ConnectionPtr(DB::MockDatabase::openConnectionTo("pqmock")); + db->beginBulkUpload("bulk2", ""); + BOOST_REQUIRE_EQUAL(56, db->bulkUploadData(f)); + db->endBulkUpload(nullptr); + fclose(f); + db->select("SELECT COUNT(*) FROM bulk2")->forEachRow<int64_t>([](auto n) { + BOOST_REQUIRE_EQUAL(4, n); + }); +} + |