code: def test_baked_image(self):
      # create a docker image with baked in credentials
      # and run a remote worker tests with it
      logger = logs.get_logger("test_baked_image")
      logger.setLevel(logs.DEBUG)
  
      # check if docker is installed
      dockertestp = subprocess.Popen(
          ["docker"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT
      )
  
      dockertestout, _ = dockertestp.communicate()
      if dockertestout:
          logger.info("docker test output: \n" + str(dockertestout))
  
      if dockertestp.returncode != 0:
          logger.error("docker is not installed (correctly)")
          return
  
      image = "test_image" + str(uuid.uuid4())
  
      addcredsp = subprocess.Popen(
          [
              "studio-add-credentials",
              "--tag=" + image,
              "--base-image=peterzhokhoff/studioml",
          ],
          # stdout=subprocess.PIPE,
          # stderr=subprocess.STDOUT
      )
  
      addcredsout, _ = addcredsp.communicate()
      if addcredsout:
          logger.info(
              "studio-add-credentials output: \n" + str(addcredsout)
          )
      if addcredsp.returncode != 0:
          logger.error("studio-add-credentials failed.")
          self.assertTrue(False)
  
      experiment_name = "test_remote_worker_baked" + str(uuid.uuid4())
      queue_name = experiment_name
      logger = logs.get_logger("test_baked_image")
      logger.setLevel(10)
  
      pw = subprocess.Popen(
          [
              "studio-start-remote-worker",
              "--queue=" + queue_name,
              "--no-cache",
              "--single-run",
              "--timeout=30",
              "--image=" + image,
          ],
          # stdout=subprocess.PIPE,
          # stderr=subprocess.STDOUT
      )
  
      stubtest_worker(
          self,
          experiment_name=experiment_name,
          runner_args=["--queue=" + queue_name, "--force-git"],
          config_name="test_config_http_client.yaml",
          test_script="tf_hello_world.py",
          script_args=["arg0"],
          expected_output="[ 2.0 6.0 ]",
          queue=PubsubQueue(queue_name),
      )
  
      workerout, _ = pw.communicate()
      if workerout:
          logger.debug(
              "studio-start-remote-worker output: \n" + str(workerout)
          )
  
      rmip = subprocess.Popen(
          ["docker", "rmi", image],
          stdout=subprocess.PIPE,
          stderr=subprocess.STDOUT,
      )
  
      rmiout, _ = rmip.communicate()
  
      if rmiout:
          logger.info("docker rmi output: \n" + str(rmiout))
  
file_path: studio/tests/remote_worker_test.py
imports: import unittest
  import os
  import tempfile
  import uuid
  import subprocess
  from studio.pubsub_queue import PubsubQueue
  from studio import logs
  from local_worker_test import stubtest_worker
  from timeout_decorator import timeout
  from env_detect import on_gcp
label_desc: Use image node_id 4 for calling the RemoteWorkerTest obj's underlying member method code with example usage: obj.test_baked_image() without return types