summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmjith Ramanujam <amjith.r@gmail.com>2021-01-05 08:15:58 -0800
committerGitHub <noreply@github.com>2021-01-05 08:15:58 -0800
commit796380e3629bea6985b376d4b541b9976929aceb (patch)
tree8ffc0c6fa755e223ca66bdd5265b8ee333a2a2e9
parenta4a355de78f5e1a7c9c1a42e905a978d5aad33e8 (diff)
parent048994ae8be73293a34a54a27ce46d82d63bed4a (diff)
Merge pull request #928 from dbcli/RW/respect-pytest-port
Make the test suite respect the $PYTEST_PORT environment variable
-rw-r--r--test/features/db_utils.py18
-rw-r--r--test/features/environment.py12
2 files changed, 21 insertions, 9 deletions
diff --git a/test/features/db_utils.py b/test/features/db_utils.py
index c29dedb..be550e9 100644
--- a/test/features/db_utils.py
+++ b/test/features/db_utils.py
@@ -1,11 +1,12 @@
import pymysql
-def create_db(hostname='localhost', username=None, password=None,
- dbname=None):
+def create_db(hostname='localhost', port=3306, username=None,
+ password=None, dbname=None):
"""Create test database.
:param hostname: string
+ :param port: int
:param username: string
:param password: string
:param dbname: string
@@ -14,6 +15,7 @@ def create_db(hostname='localhost', username=None, password=None,
"""
cn = pymysql.connect(
host=hostname,
+ port=port,
user=username,
password=password,
charset='utf8mb4',
@@ -26,14 +28,15 @@ def create_db(hostname='localhost', username=None, password=None,
cn.close()
- cn = create_cn(hostname, password, username, dbname)
+ cn = create_cn(hostname, port, password, username, dbname)
return cn
-def create_cn(hostname, password, username, dbname):
+def create_cn(hostname, port, password, username, dbname):
"""Open connection to database.
:param hostname:
+ :param port:
:param password:
:param username:
:param dbname: string
@@ -42,6 +45,7 @@ def create_cn(hostname, password, username, dbname):
"""
cn = pymysql.connect(
host=hostname,
+ port=port,
user=username,
password=password,
db=dbname,
@@ -52,11 +56,12 @@ def create_cn(hostname, password, username, dbname):
return cn
-def drop_db(hostname='localhost', username=None, password=None,
- dbname=None):
+def drop_db(hostname='localhost', port=3306, username=None,
+ password=None, dbname=None):
"""Drop database.
:param hostname: string
+ :param port: int
:param username: string
:param password: string
:param dbname: string
@@ -64,6 +69,7 @@ def drop_db(hostname='localhost', username=None, password=None,
"""
cn = pymysql.connect(
host=hostname,
+ port=port,
user=username,
password=password,
db=dbname,
diff --git a/test/features/environment.py b/test/features/environment.py
index cb35140..2ecf307 100644
--- a/test/features/environment.py
+++ b/test/features/environment.py
@@ -42,6 +42,10 @@ def before_all(context):
'my_test_host',
os.getenv('PYTEST_HOST', 'localhost')
),
+ 'port': context.config.userdata.get(
+ 'my_test_port',
+ int(os.getenv('PYTEST_PORT', '3306'))
+ ),
'user': context.config.userdata.get(
'my_test_user',
os.getenv('PYTEST_USER', 'root')
@@ -72,7 +76,8 @@ def before_all(context):
context.conf['myclirc'] = os.path.join(context.package_root, 'test',
'myclirc')
- context.cn = dbutils.create_db(context.conf['host'], context.conf['user'],
+ context.cn = dbutils.create_db(context.conf['host'], context.conf['port'],
+ context.conf['user'],
context.conf['pass'],
context.conf['dbname'])
@@ -82,8 +87,9 @@ def before_all(context):
def after_all(context):
"""Unset env parameters."""
dbutils.close_cn(context.cn)
- dbutils.drop_db(context.conf['host'], context.conf['user'],
- context.conf['pass'], context.conf['dbname'])
+ dbutils.drop_db(context.conf['host'], context.conf['port'],
+ context.conf['user'], context.conf['pass'],
+ context.conf['dbname'])
# Restore env vars.
#for k, v in context.pgenv.items():