Beispiel #1
0
 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)
Beispiel #2
0
	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)
Beispiel #3
0
 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)
Beispiel #4
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)