def validate_fields(item, fields=None):
    """
    Check that all requested fields were returned

    :param item: comment or submission
    :param fields: list[str]
    :return: list[str]
    """
    actual_fields = item.d_.keys()

    if fields is None:
        requested_fields = actual_fields
    else:
        requested_fields = fields

    missing_fields = set(requested_fields).difference(actual_fields)

    # drop extra fields returned from api
    final_fields = set(requested_fields).intersection(actual_fields)
    return final_fields, missing_fields