github.com/containers/podman/v4@v4.9.4/libpod/container_internal_linux_test.go (about)

     1  //go:build !remote
     2  // +build !remote
     3  
     4  package libpod
     5  
     6  import (
     7  	"testing"
     8  
     9  	spec "github.com/opencontainers/runtime-spec/specs-go"
    10  	"github.com/stretchr/testify/assert"
    11  )
    12  
    13  func TestGenerateUserPasswdEntry(t *testing.T) {
    14  	c := Container{
    15  		config: &ContainerConfig{
    16  			Spec: &spec.Spec{},
    17  			ContainerSecurityConfig: ContainerSecurityConfig{
    18  				User: "123456:456789",
    19  			},
    20  		},
    21  		state: &ContainerState{
    22  			Mountpoint: "/does/not/exist/tmp/",
    23  		},
    24  	}
    25  	user, err := c.generateUserPasswdEntry(0)
    26  	if err != nil {
    27  		t.Fatal(err)
    28  	}
    29  	assert.Equal(t, user, "123456:*:123456:456789:container user:/:/bin/sh\n")
    30  
    31  	c.config.User = "567890"
    32  	user, err = c.generateUserPasswdEntry(0)
    33  	if err != nil {
    34  		t.Fatal(err)
    35  	}
    36  	assert.Equal(t, user, "567890:*:567890:0:container user:/:/bin/sh\n")
    37  }
    38  
    39  func TestGenerateUserGroupEntry(t *testing.T) {
    40  	c := Container{
    41  		config: &ContainerConfig{
    42  			Spec: &spec.Spec{},
    43  			ContainerSecurityConfig: ContainerSecurityConfig{
    44  				User: "123456:456789",
    45  			},
    46  		},
    47  		state: &ContainerState{
    48  			Mountpoint: "/does/not/exist/tmp/",
    49  		},
    50  	}
    51  	group, err := c.generateUserGroupEntry(0)
    52  	if err != nil {
    53  		t.Fatal(err)
    54  	}
    55  	assert.Equal(t, group, "456789:x:456789:123456\n")
    56  
    57  	c.config.User = "567890"
    58  	group, err = c.generateUserGroupEntry(0)
    59  	if err != nil {
    60  		t.Fatal(err)
    61  	}
    62  	assert.Equal(t, group, "567890:x:567890:567890\n")
    63  }