def METHOD_NAME(test_oso):
    admin = User(name="president")
    guest = User(name="guest")
    company = Company(id="1")
    resource = Widget(id=company.id)
    # Admin should be able to update all fields
    assert test_oso.authorized_fields(admin, "update", resource) == {
        "name",
        "purpose",
        "private_field",
    }
    # Guests should not be able to update fields
    assert test_oso.authorized_fields(guest, "update", resource) == set()
    # Admins should be able to read all fields
    assert test_oso.authorized_fields(admin, "read", resource) == {
        "name",
        "purpose",
        "private_field",
    }
    # Guests should be able to read all public fields
    assert test_oso.authorized_fields(guest, "read", resource) == {"name", "purpose"}