code cleanup and reformat (#423)

This commit is contained in:
jnozsc
2020-01-20 02:47:22 -08:00
committed by Inada Naoki
parent 0f1ff4c9c0
commit 18163d7022
25 changed files with 1409 additions and 1067 deletions

View File

@ -4,17 +4,22 @@ import unittest
import MySQLdb
from configdb import connection_kwargs
import warnings
warnings.simplefilter("ignore")
class test_MySQLdb(dbapi20.DatabaseAPI20Test):
driver = MySQLdb
connect_args = ()
connect_kw_args = connection_kwargs(dict(sql_mode="ANSI,STRICT_TRANS_TABLES,TRADITIONAL"))
connect_kw_args = connection_kwargs(
dict(sql_mode="ANSI,STRICT_TRANS_TABLES,TRADITIONAL")
)
def test_setoutputsize(self): pass
def test_setoutputsize_basic(self): pass
def test_nextset(self): pass
def test_setoutputsize(self):
pass
def test_setoutputsize_basic(self):
pass
"""The tests on fetchone and fetchall and rowcount bogusly
test for an exception if the statement cannot return a
@ -36,36 +41,41 @@ class test_MySQLdb(dbapi20.DatabaseAPI20Test):
# cursor.fetchall should raise an Error if called
# after executing a statement that cannot return rows
#self.assertRaises(self.driver.Error,cur.fetchall)
# self.assertRaises(self.driver.Error,cur.fetchall)
cur.execute('select name from %sbooze' % self.table_prefix)
cur.execute("select name from %sbooze" % self.table_prefix)
rows = cur.fetchall()
self.assertTrue(cur.rowcount in (-1,len(self.samples)))
self.assertEqual(len(rows),len(self.samples),
'cursor.fetchall did not retrieve all rows'
)
self.assertTrue(cur.rowcount in (-1, len(self.samples)))
self.assertEqual(
len(rows),
len(self.samples),
"cursor.fetchall did not retrieve all rows",
)
rows = [r[0] for r in rows]
rows.sort()
for i in range(0,len(self.samples)):
self.assertEqual(rows[i],self.samples[i],
'cursor.fetchall retrieved incorrect rows'
for i in range(0, len(self.samples)):
self.assertEqual(
rows[i], self.samples[i], "cursor.fetchall retrieved incorrect rows"
)
rows = cur.fetchall()
self.assertEqual(
len(rows),0,
'cursor.fetchall should return an empty list if called '
'after the whole result set has been fetched'
)
self.assertTrue(cur.rowcount in (-1,len(self.samples)))
len(rows),
0,
"cursor.fetchall should return an empty list if called "
"after the whole result set has been fetched",
)
self.assertTrue(cur.rowcount in (-1, len(self.samples)))
self.executeDDL2(cur)
cur.execute('select name from %sbarflys' % self.table_prefix)
cur.execute("select name from %sbarflys" % self.table_prefix)
rows = cur.fetchall()
self.assertTrue(cur.rowcount in (-1,0))
self.assertEqual(len(rows),0,
'cursor.fetchall should return an empty list if '
'a select query returns no rows'
)
self.assertTrue(cur.rowcount in (-1, 0))
self.assertEqual(
len(rows),
0,
"cursor.fetchall should return an empty list if "
"a select query returns no rows",
)
finally:
con.close()
@ -77,39 +87,42 @@ class test_MySQLdb(dbapi20.DatabaseAPI20Test):
# cursor.fetchone should raise an Error if called before
# executing a select-type query
self.assertRaises(self.driver.Error,cur.fetchone)
self.assertRaises(self.driver.Error, cur.fetchone)
# cursor.fetchone should raise an Error if called after
# executing a query that cannot return rows
self.executeDDL1(cur)
## self.assertRaises(self.driver.Error,cur.fetchone)
# self.assertRaises(self.driver.Error,cur.fetchone)
cur.execute('select name from %sbooze' % self.table_prefix)
self.assertEqual(cur.fetchone(),None,
'cursor.fetchone should return None if a query retrieves '
'no rows'
)
self.assertTrue(cur.rowcount in (-1,0))
cur.execute("select name from %sbooze" % self.table_prefix)
self.assertEqual(
cur.fetchone(),
None,
"cursor.fetchone should return None if a query retrieves " "no rows",
)
self.assertTrue(cur.rowcount in (-1, 0))
# cursor.fetchone should raise an Error if called after
# executing a query that cannot return rows
cur.execute("insert into %sbooze values ('Victoria Bitter')" % (
self.table_prefix
))
## self.assertRaises(self.driver.Error,cur.fetchone)
cur.execute(
"insert into %sbooze values ('Victoria Bitter')" % (self.table_prefix)
)
# self.assertRaises(self.driver.Error,cur.fetchone)
cur.execute('select name from %sbooze' % self.table_prefix)
cur.execute("select name from %sbooze" % self.table_prefix)
r = cur.fetchone()
self.assertEqual(len(r),1,
'cursor.fetchone should have retrieved a single row'
)
self.assertEqual(r[0],'Victoria Bitter',
'cursor.fetchone retrieved incorrect data'
)
## self.assertEqual(cur.fetchone(),None,
## 'cursor.fetchone should return None if no more rows available'
## )
self.assertTrue(cur.rowcount in (-1,1))
self.assertEqual(
len(r), 1, "cursor.fetchone should have retrieved a single row"
)
self.assertEqual(
r[0], "Victoria Bitter", "cursor.fetchone retrieved incorrect data"
)
# self.assertEqual(
# cur.fetchone(),
# None,
# "cursor.fetchone should return None if no more rows available",
# )
self.assertTrue(cur.rowcount in (-1, 1))
finally:
con.close()
@ -119,81 +132,93 @@ class test_MySQLdb(dbapi20.DatabaseAPI20Test):
try:
cur = con.cursor()
self.executeDDL1(cur)
## self.assertEqual(cur.rowcount,-1,
## 'cursor.rowcount should be -1 after executing no-result '
## 'statements'
## )
cur.execute("insert into %sbooze values ('Victoria Bitter')" % (
self.table_prefix
))
## self.assertTrue(cur.rowcount in (-1,1),
## 'cursor.rowcount should == number or rows inserted, or '
## 'set to -1 after executing an insert statement'
## )
# self.assertEqual(cur.rowcount,-1,
# 'cursor.rowcount should be -1 after executing no-result '
# 'statements'
# )
cur.execute(
"insert into %sbooze values ('Victoria Bitter')" % (self.table_prefix)
)
# self.assertTrue(cur.rowcount in (-1,1),
# 'cursor.rowcount should == number or rows inserted, or '
# 'set to -1 after executing an insert statement'
# )
cur.execute("select name from %sbooze" % self.table_prefix)
self.assertTrue(cur.rowcount in (-1,1),
'cursor.rowcount should == number of rows returned, or '
'set to -1 after executing a select statement'
)
self.assertTrue(
cur.rowcount in (-1, 1),
"cursor.rowcount should == number of rows returned, or "
"set to -1 after executing a select statement",
)
self.executeDDL2(cur)
## self.assertEqual(cur.rowcount,-1,
## 'cursor.rowcount not being reset to -1 after executing '
## 'no-result statements'
## )
# self.assertEqual(cur.rowcount,-1,
# 'cursor.rowcount not being reset to -1 after executing '
# 'no-result statements'
# )
finally:
con.close()
def test_callproc(self):
pass # performed in test_MySQL_capabilities
pass # performed in test_MySQL_capabilities
def help_nextset_setUp(self,cur):
''' Should create a procedure called deleteme
def help_nextset_setUp(self, cur):
""" Should create a procedure called deleteme
that returns two result sets, first the
number of rows in booze then "name from booze"
'''
sql="""
"""
sql = """
create procedure deleteme()
begin
select count(*) from %(tp)sbooze;
select name from %(tp)sbooze;
end
""" % dict(tp=self.table_prefix)
""" % dict(
tp=self.table_prefix
)
cur.execute(sql)
def help_nextset_tearDown(self,cur):
'If cleaning up is needed after nextSetTest'
def help_nextset_tearDown(self, cur):
"If cleaning up is needed after nextSetTest"
cur.execute("drop procedure deleteme")
def test_nextset(self):
#from warnings import warn
# from warnings import warn
con = self._connect()
try:
cur = con.cursor()
if not hasattr(cur, 'nextset'):
if not hasattr(cur, "nextset"):
return
try:
self.executeDDL1(cur)
sql=self._populate()
sql = self._populate()
for sql in self._populate():
cur.execute(sql)
self.help_nextset_setUp(cur)
cur.callproc('deleteme')
numberofrows=cur.fetchone()
assert numberofrows[0]== len(self.samples)
cur.callproc("deleteme")
numberofrows = cur.fetchone()
assert numberofrows[0] == len(self.samples)
assert cur.nextset()
names=cur.fetchall()
names = cur.fetchall()
assert len(names) == len(self.samples)
s=cur.nextset()
s = cur.nextset()
if s:
empty = cur.fetchall()
self.assertEqual(len(empty), 0,
"non-empty result set after other result sets")
#warn("Incompatibility: MySQL returns an empty result set for the CALL itself",
# Warning)
#assert s == None,'No more return sets, should return None'
self.assertEqual(
len(empty), 0, "non-empty result set after other result sets"
)
# warn(
# ": ".join(
# [
# "Incompatibility",
# "MySQL returns an empty result set for the CALL itself"
# ]
# ),
# Warning,
# )
# assert s == None, "No more return sets, should return None"
finally:
self.help_nextset_tearDown(cur)
@ -201,5 +226,5 @@ class test_MySQLdb(dbapi20.DatabaseAPI20Test):
con.close()
if __name__ == '__main__':
if __name__ == "__main__":
unittest.main()