11
11
# License for the specific language governing permissions and limitations
12
12
# under the License.
13
13
from os import environ
14
-
14
+ from typing import Optional
15
15
from testcontainers .core .generic import DbContainer
16
16
17
17
@@ -36,13 +36,9 @@ class MySqlContainer(DbContainer):
36
36
... version, = result.fetchone()
37
37
"""
38
38
39
- def __init__ (self ,
40
- image = "mysql:latest" ,
41
- MYSQL_USER = None ,
42
- MYSQL_ROOT_PASSWORD = None ,
43
- MYSQL_PASSWORD = None ,
44
- MYSQL_DATABASE = None ,
45
- ** kwargs ):
39
+ def __init__ (self , image : str = "mysql:latest" , MYSQL_USER : Optional [str ] = None ,
40
+ MYSQL_ROOT_PASSWORD : Optional [str ] = None , MYSQL_PASSWORD : Optional [str ] = None ,
41
+ MYSQL_DATABASE : Optional [str ] = None , ** kwargs ) -> None :
46
42
super (MySqlContainer , self ).__init__ (image , ** kwargs )
47
43
self .port_to_expose = 3306
48
44
self .with_exposed_ports (self .port_to_expose )
@@ -54,15 +50,15 @@ def __init__(self,
54
50
if self .MYSQL_USER == 'root' :
55
51
self .MYSQL_ROOT_PASSWORD = self .MYSQL_PASSWORD
56
52
57
- def _configure (self ):
53
+ def _configure (self ) -> None :
58
54
self .with_env ("MYSQL_ROOT_PASSWORD" , self .MYSQL_ROOT_PASSWORD )
59
55
self .with_env ("MYSQL_DATABASE" , self .MYSQL_DATABASE )
60
56
61
57
if self .MYSQL_USER != "root" :
62
58
self .with_env ("MYSQL_USER" , self .MYSQL_USER )
63
59
self .with_env ("MYSQL_PASSWORD" , self .MYSQL_PASSWORD )
64
60
65
- def get_connection_url (self ):
61
+ def get_connection_url (self ) -> str :
66
62
return super ()._create_connection_url (dialect = "mysql+pymysql" ,
67
63
username = self .MYSQL_USER ,
68
64
password = self .MYSQL_PASSWORD ,
0 commit comments