code: def test_get_artifact_obj_by_name(
      user, cleanup, anon_s3_handler, anon_gcs_handler
  ):
      """Test the ability to instantiate a wandb Media object from the name of the object.
  
      This is the logical inverse of Artifact.add(name).
      """
      # TODO: test more robustly for every Media type, nested objects (eg. Table -> Image), and references.
      with wandb.init() as run:
          artifact = wandb.Artifact("A2", "database")
          image = _make_wandb_image()
          table = _make_wandb_table()
          artifact.add(image, "I1")
          artifact.add(table, "T1")
          run.log_artifact(artifact)
  
      with wandb.init() as run:
          artifact = run.use_artifact("A2:latest")
          actual_image = artifact.get("I1")
          assert actual_image == image
  
          actual_table = artifact.get("T1")
          assert actual_table.columns == columns
          assert actual_table.data[0][columns.index("Image")] == image
          assert actual_table.data[1][
              columns.index("Image")
          ] == _make_wandb_image("2")
          actual_table._eq_debug(_make_wandb_table(), True)
          assert actual_table == _make_wandb_table()
  
imports: import base64
  import binascii
  import os
  import shutil
  import time
  from math import cos, pi, sin
  import boto3
  import botocore
  import google.cloud.storage
  import numpy
  import pytest
  import wandb
  from bokeh.plotting import figure
  from wandb.sdk.artifacts.storage_handlers.gcs_handler import GCSHandler
  from wandb.sdk.artifacts.storage_handlers.s3_handler import S3Handler
label_desc: Use image node_id 12 for calling a global function with example usage: test_get_artifact_obj_by_name(user, cleanup, anon_s3_handler, anon_gcs_handler) without return types