code: def test_action_store_change(faker: Faker, worker: Worker):
      root_client = worker.root_client
      dummy_data = [1, 2, 3]
      data = ActionObject.from_obj(dummy_data)
      action_obj = root_client.api.services.action.set(data)
  
      assert action_obj.get() == dummy_data
  
      ds_client = get_ds_client(faker, root_client, worker.guest_client)
  
      action_object_link = LinkedObject.from_obj(
          action_obj, node_uid=action_obj.syft_node_uid
      )
      permission_change = ActionStoreChange(
          linked_obj=action_object_link,
          apply_permission_type=ActionPermission.READ,
      )
  
      change_context = ChangeContext(
          node=worker,
          approving_user_credentials=root_client.credentials.verify_key,
          requesting_user_credentials=ds_client.credentials.verify_key,
      )
  
      result = permission_change.apply(change_context)
  
      assert result.is_ok()
  
      action_obj_ptr = ds_client.api.services.action.get_pointer(
          action_obj.id
      )
  
      result = action_obj_ptr.get()
      assert result == dummy_data
  
      result = permission_change.undo(change_context)
      assert result.is_ok()
  
      result = action_obj_ptr.get()
      assert isinstance(result, SyftError)
  
imports: from textwrap import dedent
  from faker import Faker
  import pytest
  import syft
  from syft.client.client import SyftClient
  from syft.node.worker import Worker
  from syft.service.action.action_object import ActionObject
  from syft.service.action.action_permissions import ActionPermission
  from syft.service.code.user_code import UserCodeStatus
  from syft.service.context import ChangeContext
  from syft.service.request.request import ActionStoreChange
  from syft.service.request.request import ObjectMutation
  from syft.service.request.request import RequestStatus
  from syft.service.request.request import UserCodeStatusChange
  from syft.service.request.request_service import RequestService
  from syft.service.response import SyftError
  from syft.service.response import SyftSuccess
  from syft.service.settings.settings_service import SettingsService
  from syft.store.document_store import DocumentStore
  from syft.store.linked_obj import LinkedObject
label_desc: Use image node_id 4 for calling a global function with example usage: test_action_store_change(faker, worker) without return types