FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

docker container refactored. Constructor accept image in format "imag… · Xeonian/testcontainers-python@508abe9 · GitHub

Commit 508abe9

Browse files
sepi
committed
docker container refactored. Constructor accept image in format "image:version"
1 parent 904c5bc commit 508abe9

8 files changed

Lines changed: 31 additions & 36 deletions

File tree

‎testcontainers/core/config.yml‎

Lines changed: 0 additions & 5 deletions
This file was deleted.

‎testcontainers/core/container.py‎

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
1-
import logging
2-
31
import crayons
42

53
from testcontainers.core.docker_client import DockerClient
64

75

86
class DockerContainer(object):
9-
def __init__(self, image, version):
7+
def __init__(self, image):
108
self.env = {}
119
self.ports = {}
1210
self._docker = DockerClient()
13-
self.image = "{}:{}".format(image, version)
11+
self.image = image
1412
self._container = None
1513

1614
def add_env(self, key, value):

‎testcontainers/core/generic.py‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,12 @@
1717

1818

1919
class DbContainer(DockerContainer):
20-
def __init__(self, image, version, dialect,
20+
def __init__(self, image, dialect,
2121
username,
2222
password,
2323
port,
2424
db_name):
25-
super(DbContainer, self).__init__(image,
26-
version)
25+
super(DbContainer, self).__init__(image)
2726
self.dialect = dialect
2827
self.username = username
2928
self.password = password

‎testcontainers/mysql.py‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,8 @@
1414

1515

1616
class MySqlContainer(DbContainer):
17-
def __init__(self, image="mysql", version="latest"):
17+
def __init__(self, image="mysql:latest"):
1818
super(MySqlContainer, self).__init__(image,
19-
version,
2019
dialect="mysql+pymysql",
2120
username="test",
2221
password="test",
@@ -33,5 +32,5 @@ def _configure(self):
3332

3433

3534
class MariaDbContainer(MySqlContainer):
36-
def __init__(self, image="mariadb", version="latest"):
37-
super(MariaDbContainer, self).__init__(image, version)
35+
def __init__(self, image="mariadb:latest"):
36+
super(MariaDbContainer, self).__init__(image)

‎testcontainers/oracle.py‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@
22

33

44
class OracleDbContainer(DbContainer):
5-
def __init__(self, image="wnameless/oracle-xe-11g", version="latest"):
5+
def __init__(self, image="wnameless/oracle-xe-11g:latest"):
66
super(OracleDbContainer, self).__init__(image=image,
7-
version=version,
87
username="system",
98
password="oracle",
109
db_name="xe",

‎testcontainers/postgres.py‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@
1515

1616

1717
class PostgresContainer(DbContainer):
18-
def __init__(self, image="postgres", version="latest"):
18+
def __init__(self, image="postgres:latest"):
1919
super(PostgresContainer, self).__init__(image=image,
20-
version=version,
2120
dialect="postgresql+psycopg2",
2221
username="test",
2322
password="test",

‎testcontainers/selenium.py‎

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
from testcontainers.core.waiting_utils import wait_container_is_ready
1818

1919
IMAGES = {
20-
"firefox": "selenium/standalone-firefox-debug",
21-
"chrome": "selenium/standalone-chrome-debug"
20+
"firefox": "selenium/standalone-firefox-debug:latest",
21+
"chrome": "selenium/standalone-chrome-debug:latest"
2222
}
2323

2424

@@ -27,13 +27,13 @@ def get_image_name(capabilities):
2727

2828

2929
class BrowserWebDriverContainer(DockerContainer):
30-
31-
def __init__(self, capabilities, version="latest"):
30+
def __init__(self, capabilities, image=None):
3231
self.capabilities = capabilities
33-
self.image = get_image_name(capabilities)
32+
if not image:
33+
self.image = get_image_name(capabilities)
3434
self.host_port = 4444
3535
self.host_vnc_port = 5900
36-
super(BrowserWebDriverContainer, self).__init__(image=self.image, version=version)
36+
super(BrowserWebDriverContainer, self).__init__(image=self.image)
3737

3838
def _configure(self):
3939
self.add_env("no_proxy", "localhost")
@@ -47,10 +47,16 @@ def _connect(self):
4747
command_executor=(self.get_connection_url()),
4848
desired_capabilities=self.capabilities)
4949

50-
def get_driver(self) -> WebDriver:
51-
return self._connect()
50+
def get_driver(self) ->
51+
52+
WebDriver:
53+
return self._connect()
54+
55+
56+
def get_connection_url(self) ->
57+
5258

53-
def get_connection_url(self) -> str:
54-
ip = self.get_container_host_ip()
55-
port = self.get_exposed_port(self.host_port)
56-
return 'http://{}:{}/wd/hub'.format(ip, port)
59+
str:
60+
ip = self.get_container_host_ip()
61+
port = self.get_exposed_port(self.host_port)
62+
return 'http://{}:{}/wd/hub'.format(ip, port)

‎tests/test_db_containers.py‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99

1010
def test_docker_run_mysql():
11-
config = MySqlContainer(version='5.7.17')
11+
config = MySqlContainer('mysql:5.7.17')
1212
with config as mysql:
1313
e = sqlalchemy.create_engine(mysql.get_connection_url())
1414
result = e.execute("select version()")
@@ -17,7 +17,7 @@ def test_docker_run_mysql():
1717

1818

1919
def test_docker_run_postgress():
20-
postgres_container = PostgresContainer(version="9.5")
20+
postgres_container = PostgresContainer("postgres:9.5")
2121
with postgres_container as postgres:
2222
e = sqlalchemy.create_engine(postgres.get_connection_url())
2323
result = e.execute("select version()")
@@ -27,7 +27,7 @@ def test_docker_run_postgress():
2727

2828

2929
def test_docker_run_mariadb():
30-
mariadb_container = MariaDbContainer()
30+
mariadb_container = MariaDbContainer("mariadb:latest")
3131
with mariadb_container as mariadb:
3232
e = sqlalchemy.create_engine(mariadb.get_connection_url())
3333
result = e.execute("select version()")
@@ -36,7 +36,7 @@ def test_docker_run_mariadb():
3636

3737

3838
def test_docker_generic_db():
39-
mongo_container = DockerContainer("mongo", "latest")
39+
mongo_container = DockerContainer("mongo:latest")
4040
mongo_container.expose_port(27017, 27017)
4141

4242
with mongo_container:

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL