code: def test_artifact_run_lookup_apis(user, cleanup):
      artifact_1_name = f"a1-{str(time.time())}"
      artifact_2_name = f"a2-{str(time.time())}"
  
      # Initial setup
      run_1 = wandb.init()
      artifact = wandb.Artifact(artifact_1_name, "test_type")
      artifact.add(
          wandb.Image(np.random.randint(0, 255, (10, 10))), "image"
      )
      run_1.log_artifact(artifact)
      artifact = wandb.Artifact(artifact_2_name, "test_type")
      artifact.add(
          wandb.Image(np.random.randint(0, 255, (10, 10))), "image"
      )
      run_1.log_artifact(artifact)
      run_1.finish()
  
      # Create a second version for a1
      run_2 = wandb.init()
      artifact = wandb.Artifact(artifact_1_name, "test_type")
      artifact.add(
          wandb.Image(np.random.randint(0, 255, (10, 10))), "image"
      )
      run_2.log_artifact(artifact)
      run_2.finish()
  
      # Use both
      run_3 = wandb.init()
      a1 = run_3.use_artifact(artifact_1_name + ":latest")
      assert _runs_eq(a1.used_by(), [run_3])
      assert _run_eq(a1.logged_by(), run_2)
      a2 = run_3.use_artifact(artifact_2_name + ":latest")
      assert _runs_eq(a2.used_by(), [run_3])
      assert _run_eq(a2.logged_by(), run_1)
      run_3.finish()
  
      # Use both
      run_4 = wandb.init()
      a1 = run_4.use_artifact(artifact_1_name + ":latest")
      assert _runs_eq(a1.used_by(), [run_3, run_4])
      a2 = run_4.use_artifact(artifact_2_name + ":latest")
      assert _runs_eq(a2.used_by(), [run_3, run_4])
      run_4.finish()
  
file_path: wandb/tests/pytest_tests/system_tests/test_artifacts/test_misc.py
imports: import os
  import shutil
  import time
  import numpy
  import pytest
  import wandb
label_desc: Use image node_id 5 for calling a global function with example usage: test_artifact_run_lookup_apis(user, cleanup) without return types