code: def test_single_job_w_input_group(batch):
      with tempfile.NamedTemporaryFile(
          "w"
      ) as input_file1, tempfile.NamedTemporaryFile(
          "w"
      ) as input_file2, tempfile.NamedTemporaryFile(
          "w"
      ) as output_file:
          msg1 = "abc"
          msg2 = "123"
  
          input_file1.write(msg1)
          input_file2.write(msg2)
          input_file1.flush()
          input_file2.flush()
  
          b = batch
          input = b.read_input_group(
              in1=input_file1.name, in2=input_file2.name
          )
          j = b.new_job()
          j.command(f"cat {input.in1} {input.in2} > {j.ofile}")
          j.command(f"cat {input}.in1 {input}.in2")
          b.write_output(j.ofile, output_file.name)
          b.run()
  
          assert open(output_file.name).read() == msg1 + msg2
  
imports: from typing import AsyncIterator
  import os
  import pytest
  import subprocess
  import tempfile
  from hailtop import pip_version
  from hailtop.batch import Batch, LocalBackend, ResourceGroup
  from hailtop.batch.resource import JobResourceFile
  from hailtop.batch.utils import concatenate
label_desc: Use image node_id 10 for calling a global function with example usage: test_single_job_w_input_group(batch) without return types