From 148affed30a5d7cbb108404a069cde5f8d8d63f9 Mon Sep 17 00:00:00 2001 From: Friedrich Wilckens <friedrich.wilckens@ingramcontent.com> Date: Mon, 30 Oct 2023 13:23:18 -0700 Subject: [PATCH] PostgreSQL: added test case for failed connection attempt. --- .../testsuite/src/PostgreSQLTest.cpp | 31 ++++++++++++++++++- .../PostgreSQL/testsuite/src/PostgreSQLTest.h | 2 ++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/Data/PostgreSQL/testsuite/src/PostgreSQLTest.cpp b/Data/PostgreSQL/testsuite/src/PostgreSQLTest.cpp index cb17b8463..0b551b642 100644 --- a/Data/PostgreSQL/testsuite/src/PostgreSQLTest.cpp +++ b/Data/PostgreSQL/testsuite/src/PostgreSQLTest.cpp @@ -140,6 +140,33 @@ void PostgreSQLTest::testConnectNoDB() } } + +void PostgreSQLTest::testFailedConnect() +{ + std::string dbConnString; + dbConnString += "host=" + getHost(); + dbConnString += " user=invalid"; + dbConnString += " password=invalid"; + dbConnString += " port=" + getPort(); + + Poco::SharedPtr<Poco::Data::Session> pInvalidSession; + try + { + std::cout << "Attempting to Connect to [" << dbConnString << "] with invalid credentials: " << std::endl; + Session session(PostgreSQL::Connector::KEY, dbConnString); + fail ("must fail"); + } + catch (ConnectionFailedException& ex) + { + std::cout << ex.displayText() << std::endl; + } + catch (ConnectionException& ex) + { + std::cout << ex.displayText() << std::endl; + } +} + + void PostgreSQLTest::testPostgreSQLOIDs() { if (!_pSession) fail ("Test not available."); @@ -309,6 +336,7 @@ void PostgreSQLTest::testBarebonePostgreSQL() } + void PostgreSQLTest::testSimpleAccess() { if (!_pSession) fail ("Test not available."); @@ -775,7 +803,7 @@ void PostgreSQLTest::testSqlState() } catch (const Poco::Data::PostgreSQL::PostgreSQLException & exception) { - assertTrue(exception.sqlState() == std::string("42601")); + assertTrue(exception.sqlState() == std::string("42601")); } } @@ -1236,6 +1264,7 @@ CppUnit::Test* PostgreSQLTest::suite() CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("PostgreSQLTest"); CppUnit_addTest(pSuite, PostgreSQLTest, testConnectNoDB); + CppUnit_addTest(pSuite, PostgreSQLTest, testFailedConnect); CppUnit_addTest(pSuite, PostgreSQLTest, testPostgreSQLOIDs); //CppUnit_addTest(pSuite, PostgreSQLTest, testBarebonePostgreSQL); CppUnit_addTest(pSuite, PostgreSQLTest, testSimpleAccess); diff --git a/Data/PostgreSQL/testsuite/src/PostgreSQLTest.h b/Data/PostgreSQL/testsuite/src/PostgreSQLTest.h index 9f2158830..4900e6520 100644 --- a/Data/PostgreSQL/testsuite/src/PostgreSQLTest.h +++ b/Data/PostgreSQL/testsuite/src/PostgreSQLTest.h @@ -36,9 +36,11 @@ public: ~PostgreSQLTest(); void testConnectNoDB(); + void testFailedConnect(); void testPostgreSQLOIDs(); void testBarebonePostgreSQL(); + void testSimpleAccess(); void testComplexType(); void testSimpleAccessVector();