aboutsummaryrefslogtreecommitdiff
path: root/test/python/docker/compat/test_containers.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/python/docker/compat/test_containers.py')
-rw-r--r--test/python/docker/compat/test_containers.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/test/python/docker/compat/test_containers.py b/test/python/docker/compat/test_containers.py
index 511ab1451..1ad1e7f15 100644
--- a/test/python/docker/compat/test_containers.py
+++ b/test/python/docker/compat/test_containers.py
@@ -7,6 +7,7 @@ from typing import IO, Optional
from docker import DockerClient, errors
from docker.models.containers import Container
+from docker.models.images import Image
from test.python.docker import Podman
from test.python.docker.compat import common, constant
@@ -139,7 +140,7 @@ class TestContainers(unittest.TestCase):
def test_remove_container_without_force(self):
# Validate current container count
- self.assertTrue(len(self.client.containers.list()), 1)
+ self.assertEqual(len(self.client.containers.list()), 1)
# Remove running container should throw error
top = self.client.containers.get(TestContainers.topContainerId)
@@ -228,12 +229,25 @@ class TestContainers(unittest.TestCase):
ret, out = ctr.exec_run(["stat", "-c", "%u:%g", "/tmp/a.txt"])
self.assertEqual(ret, 0)
- self.assertTrue(out.startswith(b'1042:1043'), "assert correct uid/gid")
+ self.assertEqual(out.rstrip(), b'1042:1043', "UID/GID of copied file")
ret, out = ctr.exec_run(["cat", "/tmp/a.txt"])
self.assertEqual(ret, 0)
- self.assertTrue(out.startswith(test_file_content), "assert file content")
+ self.assertEqual(out.rstrip(), test_file_content, "Content of copied file")
finally:
if ctr is not None:
ctr.stop()
ctr.remove()
+
+ def test_mount_preexisting_dir(self):
+ dockerfile = (B'FROM quay.io/libpod/alpine:latest\n'
+ B'USER root\n'
+ B'RUN mkdir -p /workspace\n'
+ B'RUN chown 1042:1043 /workspace')
+ img: Image
+ img, out = self.client.images.build(fileobj=io.BytesIO(dockerfile))
+ ctr: Container = self.client.containers.create(image=img.id, detach=True, command="top",
+ volumes=["test_mount_preexisting_dir_vol:/workspace"])
+ ctr.start()
+ ret, out = ctr.exec_run(["stat", "-c", "%u:%g", "/workspace"])
+ self.assertEqual(out.rstrip(), b'1042:1043', "UID/GID set in dockerfile")