code: def test_worker_handle_api_response(
      path: str, kwargs: Dict, blocking: bool, n_processes: int
  ) -> None:
      test_signing_key = SyftSigningKey.from_string(
          test_signing_key_string
      )
  
      node_uid = UID()
      worker = Worker(
          name="test-domain-1",
          processes=n_processes,
          id=node_uid,
          signing_key=test_signing_key,
      )
      root_client = worker.root_client
      assert root_client.api is not None
  
      guest_client = root_client.guest()
  
      guest_client.register(
          name="Alice",
          email="alice@caltech.edu",
          password="abc123",
          password_verify="abc123",
      )
  
      # TODO: 🟡 Fix: root_client.guest is overriding root_client.
      root_client = worker.root_client
  
      call = SyftAPICall(
          node_uid=node_uid,
          path=path,
          args=[],
          kwargs=kwargs,
          blocking=blocking,
      )
      signed_api_call = call.sign(root_client.credentials)
  
      # handle_api_call_with_unsigned_result should returned an unsigned result
      us_result = worker.handle_api_call_with_unsigned_result(
          signed_api_call
      )
      assert not isinstance(us_result, SignedSyftAPICall)
  
      # handle_api_call should return a signed result
      signed_result = worker.handle_api_call(signed_api_call)
      assert isinstance(signed_result, SignedSyftAPICall)
  
      # validation should work with the worker key
      root_client.credentials.verify_key.verify_key.verify(
          signed_result.serialized_message, signed_result.signature
      )
      # the validation should fail with the client key
      with pytest.raises(BadSignatureError):
          guest_client.credentials.verify_key.verify_key.verify(
              signed_result.serialized_message, signed_result.signature
          )
  
      # the signed result should be the same as the unsigned one
      result = signed_result.message.data
      assert isinstance(result, type(us_result))
  
      # the result should not be an error
      if path == "metadata":
          assert not isinstance(result, SyftError)
      elif not blocking and n_processes > 0:
          assert isinstance(result, QueueItem)
      else:
          assert not isinstance(result, SyftError)
  
imports: from typing import Any
  from typing import Dict
  from nacl.exceptions import BadSignatureError
  import numpy
  import pytest
  from result import Ok
  import syft
  from syft.client.api import SignedSyftAPICall
  from syft.client.api import SyftAPICall
  from syft.node.credentials import SIGNING_KEY_FOR
  from syft.node.credentials import SyftSigningKey
  from syft.node.credentials import SyftVerifyKey
  from syft.node.worker import Worker
  from syft.service.action.action_object import ActionObject
  from syft.service.action.action_store import DictActionStore
  from syft.service.context import AuthedServiceContext
  from syft.service.queue.queue_stash import QueueItem
  from syft.service.response import SyftAttributeError
  from syft.service.response import SyftError
  from syft.service.user.user import User
  from syft.service.user.user import UserCreate
  from syft.service.user.user import UserView
  from syft.service.user.user_service import UserService
  from syft.types.uid import UID
label_desc: Use image node_id 11 for calling a global function with example usage: test_worker_handle_api_response(path, kwargs, blocking, n_processes) without return types