@@ -20,27 +20,30 @@ class SqlServerContainer(DbContainer):
20
20
... result = connection.execute(sqlalchemy.text("select @@VERSION"))
21
21
"""
22
22
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 :
26
27
super (SqlServerContainer , self ).__init__ (image , ** kwargs )
28
+ if user :
29
+ raise ValueError ("use `username` instead" )
27
30
28
31
self .port_to_expose = port
29
32
self .with_exposed_ports (self .port_to_expose )
30
33
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
34
37
self .dialect = dialect
35
38
36
39
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 )
40
43
self .with_env ("ACCEPT_EULA" , 'Y' )
41
44
42
45
def get_connection_url (self ) -> str :
43
46
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
46
49
)
0 commit comments