code: def test_action_store_test_data_set_get(store: Any):
      client_key = SyftVerifyKey.from_string(
          test_verify_key_string_client
      )
      root_key = SyftVerifyKey.from_string(test_verify_key_string_root)
      SyftVerifyKey.from_string(test_verify_key_string_hacker)
  
      access = ActionObjectWRITE(uid=UID(), credentials=client_key)
      access_root = ActionObjectWRITE(uid=UID(), credentials=root_key)
  
      # add permission
      store.add_permission(access)
  
      assert store.has_permission(access)
      assert store.has_permission(access_root)
  
      # add data
      data_uid = UID()
      obj = MockSyftObject(data=1)
  
      res = store.set(
          data_uid, client_key, obj, has_result_read_permission=True
      )
      assert res.is_ok()
      res = store.get(data_uid, client_key)
      assert res.is_ok()
      assert res.ok() == obj
  
      assert store.exists(data_uid)
      res = store.delete(data_uid, client_key)
      assert res.is_ok()
      res = store.delete(data_uid, client_key)
      assert res.is_err()
  
file_path: PySyft/packages/syft/tests/syft/stores/action_store_test.py
imports: import sys
  from typing import Any
  import pytest
  from syft.node.credentials import SyftVerifyKey
  from syft.service.action.action_store import ActionObjectEXECUTE
  from syft.service.action.action_store import ActionObjectOWNER
  from syft.service.action.action_store import ActionObjectREAD
  from syft.service.action.action_store import ActionObjectWRITE
  from syft.types.uid import UID
  from .store_constants_test import test_verify_key_string_client
  from .store_constants_test import test_verify_key_string_hacker
  from .store_constants_test import test_verify_key_string_root
  from .store_mocks_test import MockSyftObject
label_desc: Use image node_id 3 for calling a global function with example usage: test_action_store_test_data_set_get(store) without return types