43 lines
800 B
Go
43 lines
800 B
Go
package specconv
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/opencontainers/runc/libcontainer/specconv"
|
|
"github.com/opencontainers/runc/libcontainer/user"
|
|
"github.com/opencontainers/runtime-spec/specs-go"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestToRootless(t *testing.T) {
|
|
spec := specconv.Example()
|
|
uidMap := []user.IDMap{
|
|
{
|
|
ID: 0,
|
|
ParentID: 4242,
|
|
Count: 1,
|
|
},
|
|
{
|
|
ID: 1,
|
|
ParentID: 231072,
|
|
Count: 65536,
|
|
},
|
|
}
|
|
gidMap := uidMap
|
|
expectedUIDMappings := []specs.LinuxIDMapping{
|
|
{
|
|
HostID: 0,
|
|
ContainerID: 0,
|
|
Size: 1,
|
|
},
|
|
{
|
|
HostID: 1,
|
|
ContainerID: 1,
|
|
Size: 65536,
|
|
},
|
|
}
|
|
err := toRootless(spec, uidMap, gidMap)
|
|
require.NoError(t, err)
|
|
require.EqualValues(t, expectedUIDMappings, spec.Linux.UIDMappings)
|
|
}
|