Skip to content

Commit 2fd8f4d

Browse files
committed
Add unit test for container runner's "keep" param
1 parent abf563a commit 2fd8f4d

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

test/test_core.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,22 @@ def test_runner_init_with_image():
9797
)
9898
assert runner.image == image
9999

100+
@pytest.mark.parametrize("keep", [False, True])
101+
def test_runner_run_keep(keep: bool):
102+
runner = xcengine.core.ContainerRunner(
103+
image := Mock(docker.models.images.Image),
104+
None,
105+
client := Mock(DockerClient)
106+
)
107+
image.tags = []
108+
client.containers.run.return_value = (container := MagicMock(Container))
109+
container.status = "exited"
110+
runner.run(False, 8080, False, keep)
111+
if keep:
112+
container.remove.assert_not_called()
113+
else:
114+
container.remove.assert_called_once_with(force=True)
115+
100116

101117
def test_runner_sigint():
102118
runner = xcengine.core.ContainerRunner(

xcengine/core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ class ContainerRunner:
339339
def __init__(
340340
self,
341341
image: Image | str,
342-
output_dir: pathlib.Path,
342+
output_dir: pathlib.Path | None,
343343
client: docker.DockerClient = None,
344344
):
345345
self._client = client

0 commit comments

Comments
 (0)