mirror of
https://github.com/containers/podman.git
synced 2025-06-19 00:06:43 +08:00
utils: new conversion method
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
This commit is contained in:
@ -502,6 +502,19 @@ func IDtoolsToRuntimeSpec(idMaps []idtools.IDMap) (convertedIDMap []specs.LinuxI
|
|||||||
return convertedIDMap
|
return convertedIDMap
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RuntimeSpecToIDtoolsTo converts runtime spec to the one of the idtools ID mapping
|
||||||
|
func RuntimeSpecToIDtools(idMaps []specs.LinuxIDMapping) (convertedIDMap []idtools.IDMap) {
|
||||||
|
for _, idmap := range idMaps {
|
||||||
|
tempIDMap := idtools.IDMap{
|
||||||
|
ContainerID: int(idmap.ContainerID),
|
||||||
|
HostID: int(idmap.HostID),
|
||||||
|
Size: int(idmap.Size),
|
||||||
|
}
|
||||||
|
convertedIDMap = append(convertedIDMap, tempIDMap)
|
||||||
|
}
|
||||||
|
return convertedIDMap
|
||||||
|
}
|
||||||
|
|
||||||
func LookupUser(name string) (*user.User, error) {
|
func LookupUser(name string) (*user.User, error) {
|
||||||
// Assume UID lookup first, if it fails look up by username
|
// Assume UID lookup first, if it fails look up by username
|
||||||
if u, err := user.LookupId(name); err == nil {
|
if u, err := user.LookupId(name); err == nil {
|
||||||
|
@ -5,6 +5,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/opencontainers/runtime-spec/specs-go"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -88,3 +89,30 @@ func TestParseInputTime(t *testing.T) {
|
|||||||
|
|
||||||
assert.Equal(t, expected, tm)
|
assert.Equal(t, expected, tm)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestConvertMappings(t *testing.T) {
|
||||||
|
start := []specs.LinuxIDMapping{
|
||||||
|
{
|
||||||
|
ContainerID: 1,
|
||||||
|
HostID: 2,
|
||||||
|
Size: 3,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ContainerID: 4,
|
||||||
|
HostID: 5,
|
||||||
|
Size: 6,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
converted := RuntimeSpecToIDtools(start)
|
||||||
|
|
||||||
|
convertedBack := IDtoolsToRuntimeSpec(converted)
|
||||||
|
|
||||||
|
assert.Equal(t, len(start), len(convertedBack))
|
||||||
|
|
||||||
|
for i := range start {
|
||||||
|
assert.Equal(t, start[i].ContainerID, convertedBack[i].ContainerID)
|
||||||
|
assert.Equal(t, start[i].HostID, convertedBack[i].HostID)
|
||||||
|
assert.Equal(t, start[i].Size, convertedBack[i].Size)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user