code: def test_build_artifact_job(runner):
      metadata = {
          "codePath": "blah/test.py",
          "args": ["--test", "test"],
          "python": "3.7",
      }
      artifact_name = str_of_length(129)
      with runner.isolated_filesystem():
          with open("requirements.txt", "w") as f:
              f.write("numpy==1.19.0")
              f.write("wandb")
          with open("wandb-metadata.json", "w") as f:
              f.write(json.dumps(metadata))
          settings = SettingsStatic(
              make_proto_settings(
                  **{
                      "files_dir": "./",
                      "disable_job_creation": False,
                      "_jupyter": False,
                  }
              )
          )
          job_builder = JobBuilder(settings)
          job_builder._logged_code_artifact = {
              "id": "testtest",
              "name": artifact_name,
          }
          artifact = job_builder.build()
          assert artifact is not None
          assert artifact.name == make_artifact_name_safe(
              f"job-{artifact_name}"
          )
          assert artifact.type == "job"
          assert artifact._manifest.entries["wandb-job.json"]
          assert artifact._manifest.entries["requirements.frozen.txt"]
  
imports: import json
  import os
  import random
  import string
  from google.protobuf.wrappers_pb2 import BoolValue, StringValue
  from wandb.proto import wandb_settings_pb2
  from wandb.sdk.internal.job_builder import JobBuilder
  from wandb.sdk.internal.settings_static import SettingsStatic
  from wandb.util import make_artifact_name_safe
label_desc: Use image node_id 5 for calling a global function with example usage: test_build_artifact_job(runner) without return types