def METHOD_NAME(params, test):
    """
    Create a non-root user with a valid password on the local machine
    :param params: dict of test parameters
    :param test: Avocado-VT test instance
    """
    non_root_name = params.get("su_user")
    non_root_pass = params.get("su_user_pass", "toor")
    try:
        # Check if user exists
        ret = process.run("id -u {}".format(non_root_name), ignore_status=True)
        # User does not exists on system, we can add him
        if ret.exit_status:
            # Add a non-root user
            ret = process.run("useradd {}".format(non_root_name))
            if ret.exit_status:
                test.error("Creation of a non-root: {} user has failed.".
                           format(non_root_name))
            else:
                # Create a password for a new non-root user
                ret = process.run('echo {}:{} | chpasswd'.
                                  format(non_root_name, non_root_pass),
                                  shell=True)
                if ret.exit_status:
                    test.error("Cannot create a password:{} for non-root "
                               "user:{}.".format(non_root_pass, non_root_name))
        else:
            test.error("The user {} already exists on the system and therefore "
                       "it is not safe to continue.".format(non_root_name))
    except (exceptions.TestFail, exceptions.TestCancel):
        raise
    except Exception as e:
        test.error("Unexpected error: {}".format(e))