summaryrefslogtreecommitdiff
path: root/test/python/docker/compat/test_containers.py
diff options
context:
space:
mode:
authorMatej Vasek <mvasek@redhat.com>2021-07-12 14:56:55 +0200
committerMatej Vasek <mvasek@redhat.com>2021-07-12 14:56:55 +0200
commit6cac65c841bc1b52780d8784c3fcca752d03eb1d (patch)
tree4fa6a640074e73d2dc5d6c670999a11fcf5df4a9 /test/python/docker/compat/test_containers.py
parentbef1f03d3ca8bfd90f4cbb295d99bf97df74a815 (diff)
downloadpodman-6cac65c841bc1b52780d8784c3fcca752d03eb1d.tar.gz
podman-6cac65c841bc1b52780d8784c3fcca752d03eb1d.tar.bz2
podman-6cac65c841bc1b52780d8784c3fcca752d03eb1d.zip
fix: uid/gid for volume mounted to existing dir
If mounting to existing directory the uid/gid should be preserved. Primary uid/gid of container shouldn't be used. Signed-off-by: Matej Vasek <mvasek@redhat.com>
Diffstat (limited to 'test/python/docker/compat/test_containers.py')
-rw-r--r--test/python/docker/compat/test_containers.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/python/docker/compat/test_containers.py b/test/python/docker/compat/test_containers.py
index 511ab1451..38ac5b59f 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
@@ -237,3 +238,16 @@ class TestContainers(unittest.TestCase):
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.assertTrue(out.startswith(b'1042:1043'), "assert correct uid/gid")