diff --git a/test/proxysql_base_test.py b/test/proxysql_base_test.py index 4332d3a72..08a751533 100644 --- a/test/proxysql_base_test.py +++ b/test/proxysql_base_test.py @@ -194,13 +194,17 @@ class ProxySQLBaseTest(TestCase): def tearDownClass(cls): cls._shutdown_docker_services() - def run_query_proxysql(self, query, db, return_result=True): + def run_query_proxysql(self, query, db, return_result=True, + username=None, password=None, port=None): """Run a query against the ProxySQL proxy and optionally return its results as a set of rows.""" + username = username or ProxySQLBaseTest.PROXYSQL_RW_USERNAME + password = password or ProxySQLBaseTest.PROXYSQL_RW_PASSWORD + port = port or ProxySQLBaseTest.PROXYSQL_RW_PORT proxy_connection = MySQLdb.connect("127.0.0.1", - ProxySQLBaseTest.PROXYSQL_RW_USERNAME, - ProxySQLBaseTest.PROXYSQL_RW_PASSWORD, - port=ProxySQLBaseTest.PROXYSQL_RW_PORT, + username, + password, + port=port, db=db) cursor = proxy_connection.cursor() cursor.execute(query) @@ -211,7 +215,8 @@ class ProxySQLBaseTest(TestCase): if return_result: return rows - def run_query_mysql(self, query, db, return_result=True, hostgroup=0): + def run_query_mysql(self, query, db, return_result=True, hostgroup=0, + username=None, password=None): """Run a query against the MySQL backend and optionally return its results as a set of rows. @@ -250,14 +255,11 @@ class ProxySQLBaseTest(TestCase): if exposed_port['PrivatePort'] == 3306: mysql_port = exposed_port['PublicPort'] + username = username or ProxySQLBaseTest.PROXYSQL_RW_USERNAME + password = password or ProxySQLBaseTest.PROXYSQL_RW_PASSWORD mysql_connection = MySQLdb.connect("127.0.0.1", - # Warning: this assumes that ProxySQL - # and all the backends have the same - # credentials. - # TODO(andrei): revisit this assumption - # in authentication tests. - ProxySQLBaseTest.PROXYSQL_RW_USERNAME, - ProxySQLBaseTest.PROXYSQL_RW_PASSWORD, + username, + password, port=mysql_port, db=db) cursor = mysql_connection.cursor()