Skip to content

Commit e072dba

Browse files
committed
Remove static variables from mssql.
1 parent bfb8200 commit e072dba

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

mssql/testcontainers/mssql/__init__.py

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,27 +20,30 @@ class SqlServerContainer(DbContainer):
2020
... result = connection.execute(sqlalchemy.text("select @@VERSION"))
2121
"""
2222

23-
def __init__(self, image: str = "mcr.microsoft.com/mssql/server:2019-latest", user: str = "SA",
24-
password: Optional[str] = None, port: int = 1433, dbname: str = "tempdb",
25-
dialect: str = 'mssql+pymssql', **kwargs) -> None:
23+
def __init__(self, image: str = "mcr.microsoft.com/mssql/server:2019-latest",
24+
username: str = "SA", password: Optional[str] = None, port: int = 1433,
25+
dbname: str = "tempdb", dialect: str = 'mssql+pymssql', user: None = None,
26+
**kwargs) -> None:
2627
super(SqlServerContainer, self).__init__(image, **kwargs)
28+
if user:
29+
raise ValueError("use `username` instead")
2730

2831
self.port_to_expose = port
2932
self.with_exposed_ports(self.port_to_expose)
3033

31-
self.SQLSERVER_PASSWORD = password or environ.get("SQLSERVER_PASSWORD", "1Secure*Password1")
32-
self.SQLSERVER_USER = user
33-
self.SQLSERVER_DBNAME = dbname
34+
self.password = password or environ.get("SQLSERVER_PASSWORD", "1Secure*Password1")
35+
self.username = username
36+
self.dbname = dbname
3437
self.dialect = dialect
3538

3639
def _configure(self) -> None:
37-
self.with_env("SA_PASSWORD", self.SQLSERVER_PASSWORD)
38-
self.with_env("SQLSERVER_USER", self.SQLSERVER_USER)
39-
self.with_env("SQLSERVER_DBNAME", self.SQLSERVER_DBNAME)
40+
self.with_env("SA_PASSWORD", self.password)
41+
self.with_env("SQLSERVER_USER", self.username)
42+
self.with_env("SQLSERVER_DBNAME", self.dbname)
4043
self.with_env("ACCEPT_EULA", 'Y')
4144

4245
def get_connection_url(self) -> str:
4346
return super()._create_connection_url(
44-
dialect=self.dialect, username=self.SQLSERVER_USER, password=self.SQLSERVER_PASSWORD,
45-
db_name=self.SQLSERVER_DBNAME, port=self.port_to_expose
47+
dialect=self.dialect, username=self.username, password=self.password,
48+
db_name=self.dbname, port=self.port_to_expose
4649
)

0 commit comments

Comments
 (0)