def test6_ConnectionMaxUsage(self): db = SteadyPgConnection(10) for i in range(100): r = db.query('select test%d' % i) self.assertEqual(r, 'test%d' % i) self.assertTrue(db.db.status) j = i % 10 + 1 self.assertEqual(db._usage, j) self.assertEqual(db.num_queries, j) for i in range(100): r = db.get_tables() self.assertEqual(r, 'test') self.assertTrue(db.db.status) j = i % 10 + 1 self.assertEqual(db._usage, j) self.assertEqual(db.num_queries, 0) for i in range(10): if i == 7: db.db.status = False r = db.query('select test%d' % i) self.assertEqual(r, 'test%d' % i) j = i % 7 + 1 self.assertEqual(db._usage, j) self.assertEqual(db.num_queries, j) for i in range(10): if i == 5: db.db.status = False r = db.get_tables() self.assertEqual(r, 'test') j = (i + (3 if i < 5 else -5)) % 10 + 1 self.assertEqual(db._usage, j) j = 3 if i < 5 else 0 self.assertEqual(db.num_queries, j) db.close() self.assertEqual(db.query('select test1'), 'test1') self.assertEqual(db._usage, 1) self.assertEqual(db.num_queries, 1) db.reopen() self.assertEqual(db._usage, 0) self.assertEqual(db.num_queries, 0) self.assertEqual(db.query('select test2'), 'test2') self.assertEqual(db._usage, 1) self.assertEqual(db.num_queries, 1)
def test5_SteadyPgConnectionMaxUsage(self): db = SteadyPgConnection(10) for i in range(100): r = db.query('select test%d' % i) self.assertEqual(r, 'test%d' % i) self.assert_(db.db.status) j = i % 10 + 1 self.assertEqual(db._usage, j) self.assertEqual(db.num_queries, j) for i in range(100): r = db.get_tables() self.assertEqual(r, 'test') self.assert_(db.db.status) j = i % 10 + 1 self.assertEqual(db._usage, j) self.assertEqual(db.num_queries, 0) for i in range(10): if i == 7: db.db.status = False r = db.query('select test%d' % i) self.assertEqual(r, 'test%d' % i) j = i % 7 + 1 self.assertEqual(db._usage, j) self.assertEqual(db.num_queries, j) for i in range(10): if i == 5: db.db.status = False r = db.get_tables() self.assertEqual(r, 'test') j = (i + (i < 5 and 3 or -5)) % 10 + 1 self.assertEqual(db._usage, j) j = i < 5 and 3 or 0 self.assertEqual(db.num_queries, j) db.close() self.assertEqual(db.query('select test1'), 'test1') self.assertEqual(db._usage, 1) self.assertEqual(db.num_queries, 1) db.reopen() self.assertEqual(db._usage, 0) self.assertEqual(db.num_queries, 0) self.assertEqual(db.query('select test2'), 'test2') self.assertEqual(db._usage, 1) self.assertEqual(db.num_queries, 1)
def test4_Connection(self): db = SteadyPgConnection(0, None, 1, 'SteadyPgTestDB', user='******') self.assertTrue(hasattr(db, 'db')) self.assertTrue(hasattr(db, '_con')) self.assertEqual(db.db, db._con.db) self.assertTrue(hasattr(db, '_usage')) self.assertEqual(db._usage, 0) self.assertTrue(hasattr(db.db, 'status')) self.assertTrue(db.db.status) self.assertTrue(hasattr(db.db, 'query')) self.assertTrue(hasattr(db.db, 'close')) self.assertTrue(not hasattr(db.db, 'reopen')) self.assertTrue(hasattr(db.db, 'reset')) self.assertTrue(hasattr(db.db, 'num_queries')) self.assertTrue(hasattr(db.db, 'session')) self.assertTrue(hasattr(db.db, 'db')) self.assertEqual(db.db.db, 'SteadyPgTestDB') self.assertTrue(hasattr(db.db, 'user')) self.assertEqual(db.db.user, 'SteadyPgTestUser') self.assertTrue(not hasattr(db.db, 'get_tables')) self.assertTrue(hasattr(db, 'query')) self.assertTrue(hasattr(db, 'close')) self.assertTrue(hasattr(db, 'reopen')) self.assertTrue(hasattr(db, 'reset')) self.assertTrue(hasattr(db, 'num_queries')) self.assertTrue(hasattr(db, 'session')) self.assertTrue(hasattr(db, 'dbname')) self.assertEqual(db.dbname, 'SteadyPgTestDB') self.assertTrue(hasattr(db, 'user')) self.assertEqual(db.user, 'SteadyPgTestUser') self.assertTrue(hasattr(db, 'get_tables')) for i in range(3): self.assertEqual(db._usage, i) self.assertEqual(db.num_queries, i) self.assertEqual(db.query('select test%d' % i), 'test%d' % i) self.assertTrue(db.db.status) self.assertEqual(db.get_tables(), 'test') self.assertTrue(db.db.status) self.assertEqual(db._usage, 4) self.assertEqual(db.num_queries, 3) db.reopen() self.assertTrue(db.db.status) self.assertEqual(db._usage, 0) self.assertEqual(db.num_queries, 0) self.assertEqual(db.query('select test'), 'test') self.assertTrue(db.db.status) self.assertTrue(hasattr(db._con, 'status')) self.assertTrue(db._con.status) self.assertTrue(hasattr(db._con, 'close')) self.assertTrue(hasattr(db._con, 'query')) db.close() try: status = db.db.status except AttributeError: status = False self.assertTrue(not status) self.assertTrue(hasattr(db._con, 'close')) self.assertTrue(hasattr(db._con, 'query')) InternalError = sys.modules[db._con.__module__].InternalError self.assertRaises(InternalError, db._con.close) self.assertRaises(InternalError, db._con.query, 'select test') self.assertEqual(db.query('select test'), 'test') self.assertTrue(db.db.status) self.assertEqual(db._usage, 1) self.assertEqual(db.num_queries, 1) db.db.status = False self.assertTrue(not db.db.status) self.assertEqual(db.query('select test'), 'test') self.assertTrue(db.db.status) self.assertEqual(db._usage, 1) self.assertEqual(db.num_queries, 1) db.db.status = False self.assertTrue(not db.db.status) self.assertEqual(db.get_tables(), 'test') self.assertTrue(db.db.status) self.assertEqual(db._usage, 1) self.assertEqual(db.num_queries, 0)
def test4_SteadyPgConnection(self): db = SteadyPgConnection(0, None, 1, 'SteadyPgTestDB', user='******') self.assert_(hasattr(db, 'db')) self.assert_(hasattr(db, '_con')) self.assertEqual(db.db, db._con.db) self.assert_(hasattr(db, '_usage')) self.assertEqual(db._usage, 0) self.assert_(hasattr(db.db, 'status')) self.assert_(db.db.status) self.assert_(hasattr(db.db, 'query')) self.assert_(hasattr(db.db, 'close')) self.assert_(not hasattr(db.db, 'reopen')) self.assert_(hasattr(db.db, 'reset')) self.assert_(hasattr(db.db, 'num_queries')) self.assert_(hasattr(db.db, 'session')) self.assert_(hasattr(db.db, 'db')) self.assertEqual(db.db.db, 'SteadyPgTestDB') self.assert_(hasattr(db.db, 'user')) self.assertEqual(db.db.user, 'SteadyPgTestUser') self.assert_(not hasattr(db.db, 'get_tables')) self.assert_(hasattr(db, 'query')) self.assert_(hasattr(db, 'close')) self.assert_(hasattr(db, 'reopen')) self.assert_(hasattr(db, 'reset')) self.assert_(hasattr(db, 'num_queries')) self.assert_(hasattr(db, 'session')) self.assert_(hasattr(db, 'dbname')) self.assertEqual(db.dbname, 'SteadyPgTestDB') self.assert_(hasattr(db, 'user')) self.assertEqual(db.user, 'SteadyPgTestUser') self.assert_(hasattr(db, 'get_tables')) for i in range(3): self.assertEqual(db._usage, i) self.assertEqual(db.num_queries, i) self.assertEqual(db.query('select test%d' % i), 'test%d' % i) self.assert_(db.db.status) self.assertEqual(db.get_tables(), 'test') self.assert_(db.db.status) self.assertEqual(db._usage, 4) self.assertEqual(db.num_queries, 3) db.reopen() self.assert_(db.db.status) self.assertEqual(db._usage, 0) self.assertEqual(db.num_queries, 0) self.assertEqual(db.query('select test'), 'test') self.assert_(db.db.status) self.assert_(hasattr(db._con, 'status')) self.assert_(db._con.status) self.assert_(hasattr(db._con, 'close')) self.assert_(hasattr(db._con, 'query')) db.close() try: status = db.db.status except AttributeError: status = False self.assert_(not status) self.assert_(hasattr(db._con, 'close')) self.assert_(hasattr(db._con, 'query')) InternalError = sys.modules[db._con.__module__].InternalError self.assertRaises(InternalError, db._con.close) self.assertRaises(InternalError, db._con.query, 'select test') self.assertEqual(db.query('select test'), 'test') self.assert_(db.db.status) self.assertEqual(db._usage, 1) self.assertEqual(db.num_queries, 1) db.db.status = False self.assert_(not db.db.status) self.assertEqual(db.query('select test'), 'test') self.assert_(db.db.status) self.assertEqual(db._usage, 1) self.assertEqual(db.num_queries, 1) db.db.status = False self.assert_(not db.db.status) self.assertEqual(db.get_tables(), 'test') self.assert_(db.db.status) self.assertEqual(db._usage, 1) self.assertEqual(db.num_queries, 0)