Skip to content

Commit 3a319c8

Browse files
committed
create compose command during construction
Signed-off-by: Paul S. Schweigert <[email protected]>
1 parent 2c5ed80 commit 3a319c8

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

compose/testcontainers/compose/__init__.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ def __init__(
6262
self.env_file = env_file
6363
self.services = services
6464
self._user_defined_compose_command = compose_command.split(" ") if compose_command else None
65+
self.docker_compose = self.base_docker_compose()
6566

6667
def __enter__(self) -> "DockerCompose":
6768
self.start()
@@ -108,10 +109,10 @@ def start(self) -> None:
108109
Starts the docker compose environment.
109110
"""
110111
if self.pull:
111-
pull_cmd = self.docker_compose_command() + ['pull']
112+
pull_cmd = self.docker_compose + ['pull']
112113
self._call_command(cmd=pull_cmd)
113114

114-
up_cmd = self.docker_compose_command() + ['up', '-d']
115+
up_cmd = self.docker_compose + ['up', '-d']
115116
if self.build:
116117
up_cmd.append('--build')
117118
if self.services:
@@ -122,7 +123,7 @@ def stop(self) -> None:
122123
"""
123124
Stops the docker compose environment.
124125
"""
125-
down_cmd = self.docker_compose_command() + ['down', '-v']
126+
down_cmd = self.docker_compose + ['down', '-v']
126127
self._call_command(cmd=down_cmd)
127128

128129
def get_logs(self) -> Tuple[str, str]:
@@ -133,7 +134,7 @@ def get_logs(self) -> Tuple[str, str]:
133134
stdout: Standard output stream.
134135
stderr: Standard error stream.
135136
"""
136-
logs_cmd = self.docker_compose_command() + ["logs"]
137+
logs_cmd = self.docker_compose + ["logs"]
137138
result = subprocess.run(
138139
logs_cmd,
139140
cwd=self.filepath,
@@ -154,7 +155,7 @@ def exec_in_container(self, service_name: str, command: List[str]) -> Tuple[str,
154155
stdout: Standard output stream.
155156
stderr: Standard error stream.
156157
"""
157-
exec_cmd = self.docker_compose_command() + ['exec', '-T', service_name] + command
158+
exec_cmd = self.docker_compose + ['exec', '-T', service_name] + command
158159
result = subprocess.run(
159160
exec_cmd,
160161
cwd=self.filepath,
@@ -190,7 +191,7 @@ def get_service_host(self, service_name: str, port: int) -> str:
190191
return self._get_service_info(service_name, port)[0]
191192

192193
def _get_service_info(self, service: str, port: int) -> List[str]:
193-
port_cmd = self.docker_compose_command() + ["port", service, str(port)]
194+
port_cmd = self.docker_compose + ["port", service, str(port)]
194195
try:
195196
output = subprocess.check_output(port_cmd, cwd=self.filepath).decode("utf-8")
196197
except subprocess.CalledProcessError as e:

0 commit comments

Comments
 (0)