code: def test_get_ray_image():
      os.environ["BUILDKITE_BRANCH"] = "master"
      os.environ["BUILDKITE_COMMIT"] = "1234567890"
      assert (
          _stub_test(
              {
                  "python": "3.9",
                  "cluster": {"byod": {}},
              }
          ).get_ray_image()
          == "rayproject/ray:123456-py39-cpu"
      )
      assert (
          _stub_test(
              {
                  "python": "3.9",
                  "cluster": {
                      "byod": {
                          "type": "gpu",
                      }
                  },
              }
          ).get_ray_image()
          == "rayproject/ray-ml:123456-py39-gpu"
      )
      os.environ["BUILDKITE_BRANCH"] = "releases/1.0.0"
      assert (
          _stub_test({"cluster": {"byod": {}}}).get_ray_image()
          == "rayproject/ray:1.0.0.123456-py39-cpu"
      )
      with mock.patch.dict(
          os.environ, {"BUILDKITE_PULL_REQUEST": "123"}
      ):
          assert (
              _stub_test({"cluster": {"byod": {}}}).get_ray_image()
              == "rayproject/ray:pr-123.123456-py39-cpu"
          )
      with mock.patch.dict(os.environ, {"RAY_IMAGE_TAG": "my_tag"}):
          assert (
              _stub_test({"cluster": {"byod": {}}}).get_ray_image()
              == "rayproject/ray:my_tag"
          )
  
imports: import json
  import sys
  import os
  import platform
  from unittest import mock
  import boto3
  import pytest
  from unittest.mock import patch
  from ray_release.bazel import bazel_runfile
  from ray_release.configs.global_config import init_global_config, get_global_config
  from ray_release.test import Test, TestResult, TestState, _convert_env_list_to_dict, DATAPLANE_ECR_REPO, DATAPLANE_ECR_ML_REPO
label_desc: Use image node_id 5 for calling a global function with example usage: test_get_ray_image() without return types