diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-07-07 19:23:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-07 19:23:27 +0200 |
commit | 54d16f3b5fc4210c7c46e4cca240f988fa5f39f5 (patch) | |
tree | 5cd32e61758c7c43ed44b2529cafc8281b46a910 /libpod/container_internal_linux_test.go | |
parent | cd084853b6187d8b236ea327818277cc02e0b916 (diff) | |
parent | 6c6670f12a3e6b91c1ebb09e7d9e4f49f89dccc0 (diff) | |
download | podman-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.go | 42 |
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") +} |