Skip to content

Commit af68dd4

Browse files
committed
reviewer comments
Signed-off-by: Paul S. Schweigert <[email protected]>
1 parent 9c1e527 commit af68dd4

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

compose/testcontainers/compose/__init__.py

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@ def __init__(
6161
self.build = build
6262
self.env_file = env_file
6363
self.services = services
64-
self._user_defined_compose_command = compose_command.split(" ") if compose_command else None
65-
self.docker_compose = self.base_docker_compose()
64+
self.compose_command = self._get_compose_command(compose_command)
6665

6766
def __enter__(self) -> "DockerCompose":
6867
self.start()
@@ -71,7 +70,7 @@ def __enter__(self) -> "DockerCompose":
7170
def __exit__(self, exc_type, exc_val, exc_tb) -> None:
7271
self.stop()
7372

74-
def base_docker_compose(self):
73+
def _get_compose_command(self, command):
7574
"""
7675
Returns the basecommand parts used for the docker compose commands
7776
depending on the docker compose api.
@@ -81,8 +80,8 @@ def base_docker_compose(self):
8180
list[str]
8281
The docker compose command parts
8382
"""
84-
if self._user_defined_compose_command:
85-
return self._user_defined_compose_command
83+
if command:
84+
return command.split(" ")
8685

8786
if subprocess.run(["docker", "compose", "--help"], stdout=subprocess.DEVNULL,
8887
stderr=subprocess.STDOUT).returncode == 0:
@@ -97,7 +96,7 @@ def docker_compose_command(self) -> List[str]:
9796
Returns:
9897
cmd: Docker compose command parts.
9998
"""
100-
docker_compose_cmd = self.base_docker_compose[:]
99+
docker_compose_cmd = self._get_compose_command[:]
101100
for file in self.compose_file_names:
102101
docker_compose_cmd += ['-f', file]
103102
if self.env_file:
@@ -109,10 +108,10 @@ def start(self) -> None:
109108
Starts the docker compose environment.
110109
"""
111110
if self.pull:
112-
pull_cmd = self.docker_compose + ['pull']
111+
pull_cmd = self.compose_command + ['pull']
113112
self._call_command(cmd=pull_cmd)
114113

115-
up_cmd = self.docker_compose + ['up', '-d']
114+
up_cmd = self.compose_command + ['up', '-d']
116115
if self.build:
117116
up_cmd.append('--build')
118117
if self.services:
@@ -123,7 +122,7 @@ def stop(self) -> None:
123122
"""
124123
Stops the docker compose environment.
125124
"""
126-
down_cmd = self.docker_compose + ['down', '-v']
125+
down_cmd = self.compose_command + ['down', '-v']
127126
self._call_command(cmd=down_cmd)
128127

129128
def get_logs(self) -> Tuple[str, str]:
@@ -134,7 +133,7 @@ def get_logs(self) -> Tuple[str, str]:
134133
stdout: Standard output stream.
135134
stderr: Standard error stream.
136135
"""
137-
logs_cmd = self.docker_compose + ["logs"]
136+
logs_cmd = self.compose_command + ["logs"]
138137
result = subprocess.run(
139138
logs_cmd,
140139
cwd=self.filepath,
@@ -155,7 +154,7 @@ def exec_in_container(self, service_name: str, command: List[str]) -> Tuple[str,
155154
stdout: Standard output stream.
156155
stderr: Standard error stream.
157156
"""
158-
exec_cmd = self.docker_compose + ['exec', '-T', service_name] + command
157+
exec_cmd = self.compose_command + ['exec', '-T', service_name] + command
159158
result = subprocess.run(
160159
exec_cmd,
161160
cwd=self.filepath,
@@ -191,7 +190,7 @@ def get_service_host(self, service_name: str, port: int) -> str:
191190
return self._get_service_info(service_name, port)[0]
192191

193192
def _get_service_info(self, service: str, port: int) -> List[str]:
194-
port_cmd = self.docker_compose + ["port", service, str(port)]
193+
port_cmd = self.compose_command + ["port", service, str(port)]
195194
try:
196195
output = subprocess.check_output(port_cmd, cwd=self.filepath).decode("utf-8")
197196
except subprocess.CalledProcessError as e:

0 commit comments

Comments
 (0)