From 89e51c7284571b5d7cc2b17af8b33d946683f7ee Mon Sep 17 00:00:00 2001 From: Slavey Karadzhov Date: Fri, 12 Dec 2025 10:55:58 +0100 Subject: [PATCH] Moved the configuration to a config.py file. Added support for Mariadb connection port definition. --- tests/config.py | 8 ++++++++ tests/test_binary.py | 19 +++++++------------ tests/test_char.py | 19 ++++++++----------- tests/test_dates.py | 19 +++++++------------ tests/test_longtext.py | 19 ++++++++----------- tests/test_mediumtext.py | 19 ++++++++----------- tests/test_numbers.py | 19 +++++++------------ tests/test_tinytext.py | 19 ++++++++----------- tests/test_varchar.py | 19 ++++++++----------- 9 files changed, 69 insertions(+), 91 deletions(-) create mode 100644 tests/config.py diff --git a/tests/config.py b/tests/config.py new file mode 100644 index 0000000..cb0865b --- /dev/null +++ b/tests/config.py @@ -0,0 +1,8 @@ +from os import getenv + +TABLE = getenv('DB2I_TABLE') or 'test' +DB = getenv('DB2I_DB') or 'db2itest' +HOST = getenv('DB2I_HOST') or '127.0.0.1' +USER = getenv('DB2I_USER') or 'root' +PASS = getenv('DB2I_PASS') or '' +PORT = getenv('DB2I_PORT') or 3306 \ No newline at end of file diff --git a/tests/test_binary.py b/tests/test_binary.py index a78bdf9..62fd6d4 100644 --- a/tests/test_binary.py +++ b/tests/test_binary.py @@ -1,25 +1,20 @@ import mysql.connector as mariadb import datetime -from os import getenv -TABLE = getenv('DB2I_TABLE') or 'test' -DB = getenv('DB2I_DB') or 'db2itest' -HOST = getenv('DB2I_HOST') or '127.0.0.1' -USER = getenv('DB2I_USER') or 'root' -PASS = getenv('DB2I_PASS') or '' +import config def create_insert_select(fields, values): - conn = mariadb.connect(user=USER, password=PASS, host=HOST, database=DB) + conn = mariadb.connect(user=config.USER, password=config.PASS, host=config.HOST, database=config.DB, port=config.PORT) cursor = conn.cursor() - cursor.execute(f"DROP TABLE IF EXISTS {TABLE}") + cursor.execute(f"DROP TABLE IF EXISTS {config.TABLE}") conn.commit() - cursor.execute(f"CREATE TABLE {TABLE} ({fields}) engine=ibmdb2i") - cursor.execute(f"INSERT INTO {TABLE} VALUES({values})") + cursor.execute(f"CREATE TABLE {config.TABLE} ({fields}) engine=ibmdb2i") + cursor.execute(f"INSERT INTO {config.TABLE} VALUES({values})") conn.commit() - cursor.execute(f"SELECT HEX(x), HEX(y), HEX (z) FROM {TABLE}") + cursor.execute(f"SELECT HEX(x), HEX(y), HEX (z) FROM {config.TABLE}") data = cursor.fetchone() print(f'Data: {data}') - cursor.execute(f"DROP TABLE {TABLE}") + cursor.execute(f"DROP TABLE {config.TABLE}") conn.commit() cursor.close() conn.close() diff --git a/tests/test_char.py b/tests/test_char.py index e664d33..67e941e 100644 --- a/tests/test_char.py +++ b/tests/test_char.py @@ -1,11 +1,8 @@ import mysql.connector as mariadb from os import getenv -TABLE = getenv('DB2I_TABLE') or 'test' -DB = getenv('DB2I_DB') or 'db2itest' -HOST = getenv('DB2I_HOST') or '127.0.0.1' -USER = getenv('DB2I_USER') or 'root' -PASS = getenv('DB2I_PASS') or '' +import config + EXPECTED = getenv('DB2I_EXPECTED') or 'Hello World' def create_insert_select(charset, collation="general_ci", expected=EXPECTED, encoding=None): @@ -15,16 +12,16 @@ def create_insert_select(charset, collation="general_ci", expected=EXPECTED, enc conn_charset = 'utf8' if is_unicode else charset conn_collation = 'utf8_general_ci' if is_unicode else collation - conn = mariadb.connect(user=USER, password=PASS, host=HOST, database=DB, + conn = mariadb.connect(user=config.USER, password=config.PASS, host=config.HOST, database=config.DB, port=config.PORT, charset=conn_charset, collation=conn_collation, use_unicode=use_unicode) cursor = conn.cursor() - cursor.execute(f"DROP TABLE IF EXISTS {TABLE}") + cursor.execute(f"DROP TABLE IF EXISTS {config.TABLE}") conn.commit() - cursor.execute(f"CREATE TABLE {TABLE} (i char(255)) engine=ibmdb2i CHARACTER SET '{charset}' COLLATE '{collation}'") - cursor.execute(f"INSERT INTO {TABLE} VALUES(%s)", (expected,)) + cursor.execute(f"CREATE TABLE {config.TABLE} (i char(255)) engine=ibmdb2i CHARACTER SET '{charset}' COLLATE '{collation}'") + cursor.execute(f"INSERT INTO {config.TABLE} VALUES(%s)", (expected,)) conn.commit() - cursor.execute(f"SELECT i FROM {TABLE}") + cursor.execute(f"SELECT i FROM {config.TABLE}") data = cursor.fetchone() if encoding: data = data[0].decode(encoding) @@ -32,7 +29,7 @@ def create_insert_select(charset, collation="general_ci", expected=EXPECTED, enc data = data[0] print(f'Data is: {data}') - cursor.execute(f"DROP TABLE {TABLE}") + cursor.execute(f"DROP TABLE {config.TABLE}") conn.commit() cursor.close() conn.close() diff --git a/tests/test_dates.py b/tests/test_dates.py index 562c1b4..2038cc8 100644 --- a/tests/test_dates.py +++ b/tests/test_dates.py @@ -1,25 +1,20 @@ import mysql.connector as mariadb import datetime -from os import getenv -TABLE = getenv('DB2I_TABLE') or 'test' -DB = getenv('DB2I_DB') or 'db2itest' -HOST = getenv('DB2I_HOST') or '127.0.0.1' -USER = getenv('DB2I_USER') or 'root' -PASS = getenv('DB2I_PASS') or '' +import config def create_insert_select(fields, values): - conn = mariadb.connect(user=USER, password=PASS, host=HOST, database=DB) + conn = mariadb.connect(user=config.USER, password=config.PASS, host=config.HOST, database=config.DB, port=config.PORT) cursor = conn.cursor() - cursor.execute(f"DROP TABLE IF EXISTS {TABLE}") + cursor.execute(f"DROP TABLE IF EXISTS {config.TABLE}") conn.commit() - cursor.execute(f"CREATE TABLE {TABLE} ({fields}) engine=ibmdb2i") - cursor.execute(f"INSERT INTO {TABLE} VALUES({values})") + cursor.execute(f"CREATE TABLE {config.TABLE} ({fields}) engine=ibmdb2i") + cursor.execute(f"INSERT INTO {config.TABLE} VALUES({values})") conn.commit() - cursor.execute(f"SELECT * FROM {TABLE}") + cursor.execute(f"SELECT * FROM {config.TABLE}") data = cursor.fetchone() print(f'Data: {data}') - cursor.execute(f"DROP TABLE {TABLE}") + cursor.execute(f"DROP TABLE {config.TABLE}") conn.commit() cursor.close() conn.close() diff --git a/tests/test_longtext.py b/tests/test_longtext.py index 6869fb3..dfdb9dc 100644 --- a/tests/test_longtext.py +++ b/tests/test_longtext.py @@ -1,11 +1,8 @@ import mysql.connector as mariadb from os import getenv -TABLE = getenv('DB2I_TABLE') or 'test' -DB = getenv('DB2I_DB') or 'db2itest' -HOST = getenv('DB2I_HOST') or '127.0.0.1' -USER = getenv('DB2I_USER') or 'root' -PASS = getenv('DB2I_PASS') or '' +import config + EXPECTED = getenv('DB2I_EXPECTED') or 'Hello World' def create_insert_select(charset, collation="general_ci", expected=EXPECTED, encoding=None): @@ -15,16 +12,16 @@ def create_insert_select(charset, collation="general_ci", expected=EXPECTED, enc conn_charset = 'utf8' if is_unicode else charset conn_collation = 'utf8_general_ci' if is_unicode else collation - conn = mariadb.connect(user=USER, password=PASS, host=HOST, database=DB, + conn = mariadb.connect(user=config.USER, password=config.PASS, host=config.HOST, database=config.DB, port=config.PORT, charset=conn_charset, collation=conn_collation, use_unicode=use_unicode) cursor = conn.cursor() - cursor.execute(f"DROP TABLE IF EXISTS {TABLE}") + cursor.execute(f"DROP TABLE IF EXISTS {config.TABLE}") conn.commit() - cursor.execute(f"CREATE TABLE {TABLE} (i longtext) engine=ibmdb2i CHARACTER SET '{charset}' COLLATE '{collation}'") - cursor.execute(f"INSERT INTO {TABLE} VALUES(%s)", (expected,)) + cursor.execute(f"CREATE TABLE {config.TABLE} (i longtext) engine=ibmdb2i CHARACTER SET '{charset}' COLLATE '{collation}'") + cursor.execute(f"INSERT INTO {config.TABLE} VALUES(%s)", (expected,)) conn.commit() - cursor.execute(f"SELECT i FROM {TABLE}") + cursor.execute(f"SELECT i FROM {config.TABLE}") data = cursor.fetchone() if encoding: data = data[0].decode(encoding) @@ -32,7 +29,7 @@ def create_insert_select(charset, collation="general_ci", expected=EXPECTED, enc data = data[0] print(f'Data is: {data}') - cursor.execute(f"DROP TABLE {TABLE}") + cursor.execute(f"DROP TABLE {config.TABLE}") conn.commit() cursor.close() conn.close() diff --git a/tests/test_mediumtext.py b/tests/test_mediumtext.py index 559e8e8..5491595 100644 --- a/tests/test_mediumtext.py +++ b/tests/test_mediumtext.py @@ -1,11 +1,8 @@ import mysql.connector as mariadb from os import getenv -TABLE = getenv('DB2I_TABLE') or 'test' -DB = getenv('DB2I_DB') or 'db2itest' -HOST = getenv('DB2I_HOST') or '127.0.0.1' -USER = getenv('DB2I_USER') or 'root' -PASS = getenv('DB2I_PASS') or '' +import config + EXPECTED = getenv('DB2I_EXPECTED') or 'Hello World' def create_insert_select(charset, collation="general_ci", expected=EXPECTED, encoding=None): @@ -15,16 +12,16 @@ def create_insert_select(charset, collation="general_ci", expected=EXPECTED, enc conn_charset = 'utf8' if is_unicode else charset conn_collation = 'utf8_general_ci' if is_unicode else collation - conn = mariadb.connect(user=USER, password=PASS, host=HOST, database=DB, + conn = mariadb.connect(user=config.USER, password=config.PASS, host=config.HOST, database=config.DB, port=config.PORT, charset=conn_charset, collation=conn_collation, use_unicode=use_unicode) cursor = conn.cursor() - cursor.execute(f"DROP TABLE IF EXISTS {TABLE}") + cursor.execute(f"DROP TABLE IF EXISTS {config.TABLE}") conn.commit() - cursor.execute(f"CREATE TABLE {TABLE} (i mediumtext) engine=ibmdb2i CHARACTER SET '{charset}' COLLATE '{collation}'") - cursor.execute(f"INSERT INTO {TABLE} VALUES(%s)", (expected,)) + cursor.execute(f"CREATE TABLE {config.TABLE} (i mediumtext) engine=ibmdb2i CHARACTER SET '{charset}' COLLATE '{collation}'") + cursor.execute(f"INSERT INTO {config.TABLE} VALUES(%s)", (expected,)) conn.commit() - cursor.execute(f"SELECT i FROM {TABLE}") + cursor.execute(f"SELECT i FROM {config.TABLE}") data = cursor.fetchone() if encoding: data = data[0].decode(encoding) @@ -32,7 +29,7 @@ def create_insert_select(charset, collation="general_ci", expected=EXPECTED, enc data = data[0] print(f'Data is: {data}') - cursor.execute(f"DROP TABLE {TABLE}") + cursor.execute(f"DROP TABLE {config.TABLE}") conn.commit() cursor.close() conn.close() diff --git a/tests/test_numbers.py b/tests/test_numbers.py index e294e1c..6ebddc6 100644 --- a/tests/test_numbers.py +++ b/tests/test_numbers.py @@ -1,25 +1,20 @@ import mysql.connector as mariadb from decimal import * -from os import getenv -TABLE = getenv('DB2I_TABLE') or 'test' -DB = getenv('DB2I_DB') or 'db2itest' -HOST = getenv('DB2I_HOST') or '127.0.0.1' -USER = getenv('DB2I_USER') or 'root' -PASS = getenv('DB2I_PASS') or '' +import config def create_insert_select(fields, values): - conn = mariadb.connect(user=USER, password=PASS, host=HOST, database=DB) + conn = mariadb.connect(user=config.USER, password=config.PASS, host=config.HOST, database=config.DB, port=config.PORT) cursor = conn.cursor() - cursor.execute(f"DROP TABLE IF EXISTS {TABLE}") + cursor.execute(f"DROP TABLE IF EXISTS {config.TABLE}") conn.commit() - cursor.execute(f"CREATE TABLE {TABLE} ({fields}) engine=ibmdb2i") - cursor.execute(f"INSERT INTO {TABLE} VALUES({values})") + cursor.execute(f"CREATE TABLE {config.TABLE} ({fields}) engine=ibmdb2i") + cursor.execute(f"INSERT INTO {config.TABLE} VALUES({values})") conn.commit() - cursor.execute(f"SELECT * FROM {TABLE}") + cursor.execute(f"SELECT * FROM {config.TABLE}") data = cursor.fetchone() print(f'Data is:{data}') - cursor.execute(f"DROP TABLE {TABLE}") + cursor.execute(f"DROP TABLE {config.TABLE}") conn.commit() cursor.close() conn.close() diff --git a/tests/test_tinytext.py b/tests/test_tinytext.py index a83ea7a..008379f 100644 --- a/tests/test_tinytext.py +++ b/tests/test_tinytext.py @@ -1,11 +1,8 @@ import mysql.connector as mariadb from os import getenv -TABLE = getenv('DB2I_TABLE') or 'test' -DB = getenv('DB2I_DB') or 'db2itest' -HOST = getenv('DB2I_HOST') or '127.0.0.1' -USER = getenv('DB2I_USER') or 'root' -PASS = getenv('DB2I_PASS') or '' +import config + EXPECTED = getenv('DB2I_EXPECTED') or 'Hello World' def create_insert_select(charset, collation="general_ci", expected=EXPECTED, encoding=None): @@ -15,16 +12,16 @@ def create_insert_select(charset, collation="general_ci", expected=EXPECTED, enc conn_charset = 'utf8' if is_unicode else charset conn_collation = 'utf8_general_ci' if is_unicode else collation - conn = mariadb.connect(user=USER, password=PASS, host=HOST, database=DB, + conn = mariadb.connect(user=config.USER, password=config.PASS, host=config.HOST, database=config.DB, port=config.PORT, charset=conn_charset, collation=conn_collation, use_unicode=use_unicode) cursor = conn.cursor() - cursor.execute(f"DROP TABLE IF EXISTS {TABLE}") + cursor.execute(f"DROP TABLE IF EXISTS {config.TABLE}") conn.commit() - cursor.execute(f"CREATE TABLE {TABLE} (i tinytext) engine=ibmdb2i CHARACTER SET '{charset}' COLLATE '{collation}'") - cursor.execute(f"INSERT INTO {TABLE} VALUES(%s)", (expected,)) + cursor.execute(f"CREATE TABLE {config.TABLE} (i tinytext) engine=ibmdb2i CHARACTER SET '{charset}' COLLATE '{collation}'") + cursor.execute(f"INSERT INTO {config.TABLE} VALUES(%s)", (expected,)) conn.commit() - cursor.execute(f"SELECT i FROM {TABLE}") + cursor.execute(f"SELECT i FROM {config.TABLE}") data = cursor.fetchone() if encoding: data = data[0].decode(encoding) @@ -32,7 +29,7 @@ def create_insert_select(charset, collation="general_ci", expected=EXPECTED, enc data = data[0] print(f'Data is: {data}') - cursor.execute(f"DROP TABLE {TABLE}") + cursor.execute(f"DROP TABLE {config.TABLE}") conn.commit() cursor.close() conn.close() diff --git a/tests/test_varchar.py b/tests/test_varchar.py index 7692019..12e50cf 100644 --- a/tests/test_varchar.py +++ b/tests/test_varchar.py @@ -1,11 +1,8 @@ import mysql.connector as mariadb from os import getenv -TABLE = getenv('DB2I_TABLE') or 'test' -DB = getenv('DB2I_DB') or 'db2itest' -HOST = getenv('DB2I_HOST') or '127.0.0.1' -USER = getenv('DB2I_USER') or 'root' -PASS = getenv('DB2I_PASS') or '' +import config + EXPECTED = getenv('DB2I_EXPECTED') or 'Hello World' def create_insert_select(charset, collation="general_ci", expected=EXPECTED, encoding=None): @@ -15,16 +12,16 @@ def create_insert_select(charset, collation="general_ci", expected=EXPECTED, enc conn_charset = 'utf8' if is_unicode else charset conn_collation = 'utf8_general_ci' if is_unicode else collation - conn = mariadb.connect(user=USER, password=PASS, host=HOST, database=DB, + conn = mariadb.connect(user=config.USER, password=config.PASS, host=config.HOST, database=config.DB, port=config.PORT, charset=conn_charset, collation=conn_collation, use_unicode=use_unicode) cursor = conn.cursor() - cursor.execute(f"DROP TABLE IF EXISTS {TABLE}") + cursor.execute(f"DROP TABLE IF EXISTS {config.TABLE}") conn.commit() - cursor.execute(f"CREATE TABLE {TABLE} (i varchar(256)) engine=ibmdb2i CHARACTER SET '{charset}' COLLATE '{collation}'") - cursor.execute(f"INSERT INTO {TABLE} VALUES(%s)", (expected,)) + cursor.execute(f"CREATE TABLE {config.TABLE} (i varchar(256)) engine=ibmdb2i CHARACTER SET '{charset}' COLLATE '{collation}'") + cursor.execute(f"INSERT INTO {config.TABLE} VALUES(%s)", (expected,)) conn.commit() - cursor.execute(f"SELECT i FROM {TABLE}") + cursor.execute(f"SELECT i FROM {config.TABLE}") data = cursor.fetchone() if encoding: data = data[0].decode(encoding) @@ -32,7 +29,7 @@ def create_insert_select(charset, collation="general_ci", expected=EXPECTED, enc data = data[0] print(f'Data is: {data}') - cursor.execute(f"DROP TABLE {TABLE}") + cursor.execute(f"DROP TABLE {config.TABLE}") conn.commit() cursor.close() conn.close()