in integration/utils/user.go [60:89]
func toUnixUser(user *user.User) (*UnixUser, error) {
uid, err := strconv.Atoi(user.Uid)
if err != nil {
return nil, fmt.Errorf("invalid uid %s for user %s: %v", user.Uid, user.Username, err)
}
gid, err := strconv.Atoi(user.Gid)
if err != nil {
return nil, fmt.Errorf("invalid gid %s for user %s: %v", user.Gid, user.Username, err)
}
strGroups, err := user.GroupIds()
if err != nil {
return nil, fmt.Errorf("cannot get groups for %s: %v", user.Username, err)
}
groups := make([]int, len(strGroups))
for i, name := range strGroups {
groups[i], err = strconv.Atoi(name)
if err != nil {
return nil, fmt.Errorf("invalid secondary gid %s for user %s: %v", name, user.Username, err)
}
}
return &UnixUser{
Username: user.Username,
UID: uid,
GID: gid,
Groups: groups,
}, nil
}