From f861467b7fbdf609637f864cc60c92262581abea Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Thu, 16 May 2024 00:19:44 +0900 Subject: [PATCH] do not use str(url) to stringify a URL for subsequent use The str(url) function in SQLAlchemy hides the password. For a URL string that is to be re-used, use render_as_string(hide_password=False). Co-Authored-By: Mike Bayer Change-Id: I27eb13459820ce4c7c48e91c780f31549ee0d8af --- .../test_migrations_base.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/zaqar/tests/unit/storage/sqlalchemy_migration/test_migrations_base.py b/zaqar/tests/unit/storage/sqlalchemy_migration/test_migrations_base.py index 1015d3f27..a3f7075d0 100644 --- a/zaqar/tests/unit/storage/sqlalchemy_migration/test_migrations_base.py +++ b/zaqar/tests/unit/storage/sqlalchemy_migration/test_migrations_base.py @@ -69,8 +69,10 @@ class BaseWalkMigrationTestCase(object): database functionality (reset default settings and session cleanup). """ - CONF.set_override('uri', str(engine.url), - group='drivers:management_store:sqlalchemy') + CONF.set_override( + 'uri', + engine.url.render_as_string(hide_password=False), + group='drivers:management_store:sqlalchemy') def _alembic_command(self, alembic_command, engine, *args, **kwargs): """Most of alembic command return data into output. @@ -78,8 +80,10 @@ class BaseWalkMigrationTestCase(object): We should redefine this setting for getting info. """ self.ALEMBIC_CONFIG.stdout = buf = io.StringIO() - CONF.set_override('uri', str(engine.url), - group='drivers:management_store:sqlalchemy') + CONF.set_override( + 'uri', + engine.url.render_as_string(hide_password=False), + group='drivers:management_store:sqlalchemy') getattr(command, alembic_command)(*args, **kwargs) res = buf.getvalue().strip() @@ -180,8 +184,10 @@ class TestModelsMigrationsSync(t_m.ModelsMigrationsSync): return self.engine def db_sync(self, engine): - CONF.set_override('uri', str(engine.url), - group='drivers:management_store:sqlalchemy') + CONF.set_override( + 'uri', + engine.url.render_as_string(hide_password=False), + group='drivers:management_store:sqlalchemy') script_location = os.path.join(self.mg_path, 'alembic_migrations') self.ALEMBIC_CONFIG.set_main_option('script_location', script_location) alembic.command.upgrade(self.ALEMBIC_CONFIG, 'head')