1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
import os
import aiomysql
from tests._testutils import BaseTest
class AIOPyMySQLTestCase(BaseTest):
async def _connect_all(self):
conn1 = await aiomysql.connect(loop=self.loop, host=self.host,
port=self.port, user=self.user,
db=self.db,
password=self.password,
use_unicode=True, echo=True)
conn2 = await aiomysql.connect(loop=self.loop, host=self.host,
port=self.port, user=self.user,
db=self.other_db,
password=self.password,
use_unicode=False, echo=True)
conn3 = await aiomysql.connect(loop=self.loop, host=self.host,
port=self.port, user=self.user,
db=self.db,
password=self.password,
use_unicode=True, echo=True,
local_infile=True)
self.connections = [conn1, conn2, conn3]
def setUp(self):
super(AIOPyMySQLTestCase, self).setUp()
self.host = os.environ.get('MYSQL_HOST', 'localhost')
self.port = int(os.environ.get('MYSQL_PORT', 3306))
self.user = os.environ.get('MYSQL_USER', 'root')
self.db = os.environ.get('MYSQL_DB', 'test_pymysql')
self.other_db = os.environ.get('OTHER_MYSQL_DB', 'test_pymysql2')
self.password = os.environ.get('MYSQL_PASSWORD', '')
self.connections = []
self.loop.run_until_complete(self._connect_all())
def tearDown(self):
for connection in self.connections:
self.loop.run_until_complete(connection.ensure_closed())
self.doCleanups()
super(AIOPyMySQLTestCase, self).tearDown()
async def connect(self, host=None, user=None, password=None,
db=None, use_unicode=True, port=None,
**kwargs):
if host is None:
host = self.host
if user is None:
user = self.user
if password is None:
password = self.password
if db is None:
db = self.db
if port is None:
port = self.port
conn = await aiomysql.connect(loop=self.loop, host=host,
user=user, password=password,
db=db, use_unicode=use_unicode,
port=port,
**kwargs)
self.addCleanup(conn.close)
return conn
async def create_pool(self, host=None, user=None, password=None,
db=None, use_unicode=True,
port=None, **kwargs):
if host is None:
host = self.host
if user is None:
user = self.user
if password is None:
password = self.password
if db is None:
db = self.db
if port is None:
port = self.port
pool = await aiomysql.create_pool(loop=self.loop, host=host,
user=user, password=password,
db=db, use_unicode=use_unicode,
port=port,
**kwargs)
self.addCleanup(pool.close)
return pool
|