code: def test_user_delete(
      do_client, guest_client, ds_client, worker, root_client
  ):
      # admins can delete lower users
      clients = [
          get_mock_client(root_client, role) for role in DO_ROLES
      ]
      for c in clients:
          assert worker.root_client.api.services.user.delete(c.user_id)
  
      # admins can delete other admins
      assert worker.root_client.api.services.user.delete(
          get_mock_client(root_client, ServiceRole.ADMIN).user_id
      )
      admin_client3 = get_mock_client(root_client, ServiceRole.ADMIN)
  
      # admins can delete themselves
      assert admin_client3.api.services.user.delete(
          admin_client3.user_id
      )
  
      # DOs can delete lower roles
      clients = [
          get_mock_client(root_client, role) for role in DS_ROLES
      ]
      for c in clients:
          assert do_client.api.services.user.delete(c.user_id)
      # but not higher or same roles
      clients = [
          get_mock_client(root_client, role)
          for role in [ServiceRole.DATA_OWNER, ServiceRole.ADMIN]
      ]
      for c in clients:
          assert not do_client.api.services.user.delete(c.user_id)
  
      # DS cannot delete anything
      clients = [
          get_mock_client(root_client, role) for role in ADMIN_ROLES
      ]
      for c in clients:
          assert not ds_client.api.services.user.delete(c.user_id)
  
      # Guests cannot delete anything
      clients = [
          get_mock_client(root_client, role) for role in ADMIN_ROLES
      ]
      for c in clients:
          assert not guest_client.api.services.user.delete(c.user_id)
  
imports: from faker import Faker
  import pytest
  import syft
  from syft import SyftError
  from syft import SyftSuccess
  from syft.client.api import SyftAPICall
  from syft.client.domain_client import DomainClient
  from syft.node.node import get_default_root_email
  from syft.node.worker import Worker
  from syft.service.context import AuthedServiceContext
  from syft.service.user.user import ServiceRole
  from syft.service.user.user import UserCreate
  from syft.service.user.user import UserUpdate
  from syft.service.user.user import UserView
label_desc: Use image node_id 11 for calling a global function with example usage: test_user_delete(do_client, guest_client, ds_client, worker, root_client) without return types