aboutsummaryrefslogtreecommitdiff
path: root/libpod/container_internal_linux_test.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2020-07-07 19:23:27 +0200
committerGitHub <noreply@github.com>2020-07-07 19:23:27 +0200
commit54d16f3b5fc4210c7c46e4cca240f988fa5f39f5 (patch)
tree5cd32e61758c7c43ed44b2529cafc8281b46a910 /libpod/container_internal_linux_test.go
parentcd084853b6187d8b236ea327818277cc02e0b916 (diff)
parent6c6670f12a3e6b91c1ebb09e7d9e4f49f89dccc0 (diff)
downloadpodman-54d16f3b5fc4210c7c46e4cca240f988fa5f39f5.tar.gz
podman-54d16f3b5fc4210c7c46e4cca240f988fa5f39f5.tar.bz2
podman-54d16f3b5fc4210c7c46e4cca240f988fa5f39f5.zip
Merge pull request #6829 from rhatdan/keepid
Add username to /etc/passwd inside of container if --userns keep-id
Diffstat (limited to 'libpod/container_internal_linux_test.go')
-rw-r--r--libpod/container_internal_linux_test.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/libpod/container_internal_linux_test.go b/libpod/container_internal_linux_test.go
new file mode 100644
index 000000000..078cc53a7
--- /dev/null
+++ b/libpod/container_internal_linux_test.go
@@ -0,0 +1,42 @@
+// +build linux
+
+package libpod
+
+import (
+ "io/ioutil"
+ "os"
+ "testing"
+
+ spec "github.com/opencontainers/runtime-spec/specs-go"
+ "github.com/stretchr/testify/assert"
+)
+
+func TestGenerateUserPasswdEntry(t *testing.T) {
+ dir, err := ioutil.TempDir("", "libpod_test_")
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer os.RemoveAll(dir)
+
+ c := Container{
+ config: &ContainerConfig{
+ User: "123:456",
+ Spec: &spec.Spec{},
+ },
+ state: &ContainerState{
+ Mountpoint: "/does/not/exist/tmp/",
+ },
+ }
+ user, err := c.generateUserPasswdEntry()
+ if err != nil {
+ t.Fatal(err)
+ }
+ assert.Equal(t, user, "123:x:123:456:container user:/:/bin/sh\n")
+
+ c.config.User = "567"
+ user, err = c.generateUserPasswdEntry()
+ if err != nil {
+ t.Fatal(err)
+ }
+ assert.Equal(t, user, "567:x:567:0:container user:/:/bin/sh\n")
+}