code: def test_run(self) -> None:
      def _mock_run_script(input: List[str]) -> None:
          self.cmds.append(input[0])
  
      with mock.patch(
          "ci.ray_ci.ray_docker_container.docker_pull",
          return_value=None,
      ), mock.patch(
          "ci.ray_ci.docker_container.LinuxContainer.run_script",
          side_effect=_mock_run_script,
      ):
          v = DEFAULT_PYTHON_VERSION
          cv = self.get_cpp_version(v)
          pv = self.get_python_version(v)
          container = RayDockerContainer(v, "cu11.8.0", "ray")
          container.run()
          cmd = self.cmds[-1]
          assert cmd == (
              "./ci/build/build-ray-docker.sh "
              f"ray-{RAY_VERSION}-{cv}-{cv}-manylinux2014_x86_64.whl "
              f"{_DOCKER_ECR_REPO}:123-ray-py{v}-cu11.8.0-base "
              "requirements_compiled.txt "
              f"rayproject/ray:123456-{pv}-cu118 "
              f"ray:123456-{pv}-cu118_pip-freeze.txt"
          )
  
          v = self.get_non_default_python()
          cv = self.get_cpp_version(v)
          pv = self.get_python_version(v)
          container = RayDockerContainer(v, "cpu", "ray-ml")
          container.run()
          cmd = self.cmds[-1]
          assert cmd == (
              "./ci/build/build-ray-docker.sh "
              f"ray-{RAY_VERSION}-{cv}-{cv}-manylinux2014_x86_64.whl "
              f"{_DOCKER_ECR_REPO}:123-ray-ml-py{v}-cpu-base "
              "requirements_compiled.txt "
              f"rayproject/ray-ml:123456-{pv}-cpu "
              f"ray-ml:123456-{pv}-cpu_pip-freeze.txt"
          )
  
file_path: ray/ci/ray_ci/test_ray_docker_container.py
imports: import os
  import sys
  from typing import List
  from unittest import mock
  import pytest
  from ci.ray_ci.builder_container import DEFAULT_PYTHON_VERSION
  from ci.ray_ci.container import _DOCKER_ECR_REPO
  from ci.ray_ci.ray_docker_container import RayDockerContainer
  from ci.ray_ci.test_base import RayCITestBase
  from ci.ray_ci.utils import RAY_VERSION
label_desc: Use image node_id 1 for calling the TestRayDockerContainer obj's underlying member method code with example usage: obj.test_run() without return types