func toUnixUser()

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
}