|
16 | 16 |
|
17 | 17 |
|
18 | 18 | class MySqlContainer(DbContainer):
|
19 |
| - MYSQL_ROOT_PASSWORD = environ.get("MYSQL_ROOT_PASSWORD", "test") |
20 |
| - MYSQL_DATABASE = environ.get("MYSQL_DATABASE", "test") |
21 | 19 | MYSQL_USER = environ.get("MYSQL_USER", "test")
|
| 20 | + MYSQL_ROOT_PASSWORD = environ.get("MYSQL_ROOT_PASSWORD", "test") |
22 | 21 | MYSQL_PASSWORD = environ.get("MYSQL_PASSWORD", "test")
|
| 22 | + MYSQL_DATABASE = environ.get("MYSQL_DATABASE", "test") |
23 | 23 |
|
24 |
| - def __init__(self, image="mysql:latest"): |
| 24 | + def __init__(self, image="mysql:latest", **kwargs): |
25 | 25 | super(MySqlContainer, self).__init__(image)
|
26 | 26 | self.port_to_expose = 3306
|
27 | 27 | self.with_exposed_ports(self.port_to_expose)
|
| 28 | + if 'MYSQL_USER' in kwargs: |
| 29 | + self.MYSQL_USER = kwargs['MYSQL_USER'] |
| 30 | + if 'MYSQL_ROOT_PASSWORD' in kwargs: |
| 31 | + self.MYSQL_ROOT_PASSWORD = kwargs['MYSQL_ROOT_PASSWORD'] |
| 32 | + if 'MYSQL_PASSWORD' in kwargs: |
| 33 | + self.MYSQL_PASSWORD = kwargs['MYSQL_PASSWORD'] |
| 34 | + if 'MYSQL_DATABASE' in kwargs: |
| 35 | + self.MYSQL_DATABASE = kwargs['MYSQL_DATABASE'] |
| 36 | + |
| 37 | + if self.MYSQL_USER == 'root': |
| 38 | + self.MYSQL_ROOT_PASSWORD = self.MYSQL_PASSWORD |
28 | 39 |
|
29 | 40 | def _configure(self):
|
30 | 41 | self.with_env("MYSQL_ROOT_PASSWORD", self.MYSQL_ROOT_PASSWORD)
|
31 | 42 | self.with_env("MYSQL_DATABASE", self.MYSQL_DATABASE)
|
32 |
| - self.with_env("MYSQL_USER", self.MYSQL_USER) |
33 |
| - self.with_env("MYSQL_PASSWORD", self.MYSQL_PASSWORD) |
| 43 | + |
| 44 | + if self.MYSQL_USER != "root": |
| 45 | + self.with_env("MYSQL_USER", self.MYSQL_USER) |
| 46 | + self.with_env("MYSQL_PASSWORD", self.MYSQL_PASSWORD) |
34 | 47 |
|
35 | 48 | def get_connection_url(self):
|
36 | 49 | return super()._create_connection_url(dialect="mysql+pymysql",
|
|
0 commit comments