# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public # License for more details. import sys from testconfig import dsn from testutils import unittest def test_suite(): # If connection to test db fails, bail out early. import psycopg2 try: cnn = psycopg2.connect(dsn) except Exception, e: print "Failed connection to test db:", e.__class__.__name__, e print "Please set env vars 'PSYCOPG2_TESTDB_DSN' to valid values." sys.exit(1) else: cnn.close() suite = unittest.TestSuite() import test_da_threading suite.addTest(test_da_threading.test_suite()) import test_xn_reset suite.addTest(test_xn_reset.test_suite()) return suite if __name__ == '__main__': unittest.main(defaultTest='test_suite')
# We don't expect people shooting snowmen as transaction ids, # so if something explodes in an encode error I don't mind. # Let's just check uniconde is accepted as type. cnn = self.connect() cnn.set_client_encoding('utf8') cnn.tpc_begin(u"transaction-id") cnn.tpc_prepare() cnn.reset() xid = [ xid for xid in cnn.tpc_recover() if xid.database == dbname ][0] self.assertEqual(None, xid.format_id) self.assertEqual('transaction-id', xid.gtrid) self.assertEqual(None, xid.bqual) def test_cancel_fails_prepared(self): cnn = self.connect() cnn.tpc_begin('cancel') cnn.tpc_prepare() self.assertRaises(psycopg2.ProgrammingError, cnn.cancel) from testutils import skip_if_tpc_disabled decorate_all_tests(ConnectionTwoPhaseTests, skip_if_tpc_disabled) def test_suite(): return unittest.TestLoader().loadTestsFromName(__name__) if __name__ == "__main__": unittest.main()
cur = self.conn.cursor() cur.execute("select 42;") del cur gc.collect() self.assertRaises(psycopg2.InterfaceError, self.wait, self.conn) # The connection is still usable cur = self.conn.cursor() cur.execute("select 42;") self.wait(self.conn) self.assertEqual(cur.fetchone(), (42, )) def test_async_connection_error_message(self): try: cnn = psycopg2.connect('dbname=thisdatabasedoesntexist', async=True) self.wait(cnn) except psycopg2.Error, e: self.assertNotEqual(str(e), "asynchronous connection failed", "connection error reason lost") else: self.fail("no exception raised") def test_suite(): return unittest.TestLoader().loadTestsFromName(__name__) if __name__ == "__main__": unittest.main()
import test_notify import test_async import test_green import test_cancel def test_suite(): suite = unittest.TestSuite() suite.addTest(bug_gc.test_suite()) suite.addTest(bugX000.test_suite()) suite.addTest(extras_dictcursor.test_suite()) suite.addTest(test_dates.test_suite()) suite.addTest(test_psycopg2_dbapi20.test_suite()) suite.addTest(test_quote.test_suite()) suite.addTest(test_connection.test_suite()) suite.addTest(test_cursor.test_suite()) suite.addTest(test_transaction.test_suite()) suite.addTest(types_basic.test_suite()) suite.addTest(types_extras.test_suite()) suite.addTest(test_lobject.test_suite()) suite.addTest(test_copy.test_suite()) suite.addTest(test_notify.test_suite()) suite.addTest(test_async.test_suite()) suite.addTest(test_green.test_suite()) suite.addTest(test_cancel.test_suite()) return suite if __name__ == '__main__': unittest.main(defaultTest='test_suite')
try: auth.impersonate_user('nobody', '') self.assertRaisesWithMsg(AuthorizerError, "super user privileges are required", UnixAuthorizer) finally: auth.terminate_impersonation('nobody') # ===================================================================== # --- Windows authorizer # ===================================================================== @unittest.skipUnless(WINDOWS, "Windows only") class TestWindowsAuthorizer(_SharedAuthorizerTests, unittest.TestCase): """Windows authorizer specific tests.""" authorizer_class = WindowsAuthorizer def test_wrong_anonymous_credentials(self): user = self.get_current_user() self.assertRaises(Win32ExtError, self.authorizer_class, anonymous_user=user, anonymous_password='******') if __name__ == '__main__': unittest.main(verbosity=VERBOSITY)
except Exception, e: print "Failed connection to test db:", e.__class__.__name__, e print "Please set env vars 'PSYCOPG2_TESTDB*' to valid values." sys.exit(1) else: cnn.close() suite = unittest.TestSuite() suite.addTest(test_bug_gc.test_suite()) suite.addTest(test_bugX000.test_suite()) suite.addTest(test_extras_dictcursor.test_suite()) suite.addTest(test_dates.test_suite()) suite.addTest(test_psycopg2_dbapi20.test_suite()) suite.addTest(test_quote.test_suite()) suite.addTest(test_connection.test_suite()) suite.addTest(test_cursor.test_suite()) suite.addTest(test_transaction.test_suite()) suite.addTest(test_types_basic.test_suite()) suite.addTest(test_types_extras.test_suite()) suite.addTest(test_lobject.test_suite()) suite.addTest(test_copy.test_suite()) suite.addTest(test_notify.test_suite()) suite.addTest(test_async.test_suite()) suite.addTest(test_green.test_suite()) suite.addTest(test_cancel.test_suite()) return suite if __name__ == "__main__": unittest.main(defaultTest="test_suite")
self.client.quit() def test_ssl_version(self): protos = [ssl.PROTOCOL_SSLv3, ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_TLSv1] if hasattr(ssl, "PROTOCOL_SSLv2"): protos.append(ssl.PROTOCOL_SSLv2) for proto in protos: self.try_protocol_combo(ssl.PROTOCOL_SSLv2, proto) for proto in protos: self.try_protocol_combo(ssl.PROTOCOL_SSLv3, proto) for proto in protos: self.try_protocol_combo(ssl.PROTOCOL_SSLv23, proto) for proto in protos: self.try_protocol_combo(ssl.PROTOCOL_TLSv1, proto) if hasattr(ssl, "PROTOCOL_SSLv2"): def test_sslv2(self): self.client.ssl_version = ssl.PROTOCOL_SSLv2 self.client.close() self.client.connect(self.server.host, self.server.port) self.assertRaises(socket.error, self.client.login) self.client.ssl_version = ssl.PROTOCOL_SSLv2 configure_logging() remove_test_files() if __name__ == '__main__': unittest.main(verbosity=VERBOSITY)