From 84647bb066b41baac334915a17f5e57ab81ca737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= Date: Wed, 20 May 2026 12:08:30 -0600 Subject: [PATCH] fix(mssql): use `ExecWaitStrategy` instead of deprecated `wait_container_is_ready` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Edgar Ramírez Mondragón --- modules/mssql/testcontainers/mssql/__init__.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/modules/mssql/testcontainers/mssql/__init__.py b/modules/mssql/testcontainers/mssql/__init__.py index e13f9cf0f..57f94ae55 100644 --- a/modules/mssql/testcontainers/mssql/__init__.py +++ b/modules/mssql/testcontainers/mssql/__init__.py @@ -3,7 +3,7 @@ from testcontainers.core.generic import DbContainer from testcontainers.core.utils import raise_for_deprecated_parameter -from testcontainers.core.waiting_utils import wait_container_is_ready +from testcontainers.core.wait_strategies import ExecWaitStrategy class SqlServerContainer(DbContainer): @@ -50,12 +50,15 @@ def _configure(self) -> None: self.with_env("SQLSERVER_DBNAME", self.dbname) self.with_env("ACCEPT_EULA", "Y") - @wait_container_is_ready(AssertionError) def _connect(self) -> None: - status, _ = self.exec( - ["bash", "-c", '/opt/mssql-tools*/bin/sqlcmd -U "$SQLSERVER_USER" -P "$SA_PASSWORD" -Q \'SELECT 1\' -C'] + strategy = ExecWaitStrategy( + [ + "bash", + "-c", + '/opt/mssql-tools*/bin/sqlcmd -U "$SQLSERVER_USER" -P "$SA_PASSWORD" -Q \'SELECT 1\' -C', + ] ) - assert status == 0, "Cannot run 'SELECT 1': container is not ready" + strategy.wait_until_ready(self) def get_connection_url(self) -> str: return super()._create_connection_url(