summaryrefslogtreecommitdiff
path: root/libpqpp/unittests
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2015-12-02 21:26:31 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2015-12-02 21:26:31 +0000
commit6e5c1a56b6b01e2e4fcf1c1b2fe5de52e52b2655 (patch)
tree21c3669e69e823edaeaae41cd1d4b5b81c536c50 /libpqpp/unittests
parentPropergate connection error details into DB::Error and add test (diff)
downloadlibdbpp-postgresql-6e5c1a56b6b01e2e4fcf1c1b2fe5de52e52b2655.tar.bz2
libdbpp-postgresql-6e5c1a56b6b01e2e4fcf1c1b2fe5de52e52b2655.tar.xz
libdbpp-postgresql-6e5c1a56b6b01e2e4fcf1c1b2fe5de52e52b2655.zip
Check for libpq thread safety, disable libcrypto init (fixes crashes with multiple ssl connections) add test
Diffstat (limited to 'libpqpp/unittests')
-rw-r--r--libpqpp/unittests/testpq.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/libpqpp/unittests/testpq.cpp b/libpqpp/unittests/testpq.cpp
index 5dc4b2d..002b18c 100644
--- a/libpqpp/unittests/testpq.cpp
+++ b/libpqpp/unittests/testpq.cpp
@@ -10,6 +10,7 @@
#include <fstream>
#include <boost/date_time/posix_time/posix_time.hpp>
#include "../error.h"
+#include "../connection.h"
class StandardMockDatabase : public PQ::Mock {
public:
@@ -175,3 +176,13 @@ BOOST_AUTO_TEST_CASE( connfail )
BOOST_REQUIRE_THROW(DB::ConnectionFactory::createNew("postgresql", "host=localhost user=no"), PQ::ConnectionError);
}
+BOOST_AUTO_TEST_CASE( ssl )
+{
+ auto conn = DB::ConnectionFactory::createNew("postgresql", "host=randomdan.homeip.net user=gentoo dbname=postgres sslmode=require");
+ BOOST_REQUIRE(conn);
+ auto pqconn = dynamic_cast<PQ::Connection *>(conn);
+ BOOST_REQUIRE(pqconn);
+ BOOST_REQUIRE(PQgetssl(pqconn->conn));
+ delete conn;
+}
+