code: def _succeed_until(self, until: str):
      # These commands should succeed
      self.cluster_manager_return["cluster_compute_id"] = "valid"
      self.cluster_manager_return["create_cluster_compute"] = None
  
      if until == "cluster_compute":
          return
  
      self.cluster_manager_return["cluster_env_id"] = "valid"
      self.cluster_manager_return["create_cluster_env"] = None
      self.cluster_manager_return["cluster_env_build_id"] = "valid"
      self.cluster_manager_return["build_cluster_env"] = None
  
      if until == "cluster_env":
          return
  
      self.cluster_manager_return["cluster_id"] = "valid"
      self.cluster_manager_return["start_cluster"] = None
  
      if until == "cluster_start":
          return
  
      self.command_runner_return["prepare_remote_env"] = None
  
      if until == "remote_env":
          return
  
      self.command_runner_return["wait_for_nodes"] = None
  
      if until == "wait_for_nodes":
          return
  
      self.command_runner_return["run_prepare_command"] = None
  
      if until == "prepare_command":
          return
  
      self.command_runner_return["run_command"] = None
  
      if until == "test_command":
          return
  
      self.command_runner_return["fetch_results"] = {
          "time_taken": 50,
          "last_update": time.time() - 60,
      }
  
      if until == "fetch_results":
          return
  
      self.command_runner_return["get_last_logs_ex"] = "Lorem ipsum"
  
      if until == "get_last_logs":
          return
  
      self.mock_alert_return = None
  
imports: import os
  import pytest
  import shutil
  import sys
  import tempfile
  import time
  from typing import Type, Callable, Optional
  import unittest
  from unittest.mock import patch
  from ray_release.alerts.handle import result_to_handle_map
  from ray_release.cluster_manager.cluster_manager import ClusterManager
  from ray_release.cluster_manager.full import FullClusterManager
  from ray_release.command_runner.command_runner import CommandRunner
  from ray_release.test import Test
  from ray_release.exception import ReleaseTestConfigError, ClusterCreationError, ClusterStartupError, ClusterStartupTimeout, RemoteEnvSetupError, CommandError, PrepareCommandError, CommandTimeout, PrepareCommandTimeout, TestCommandError, TestCommandTimeout, FetchResultError, LogsError, ResultsAlert, ClusterNodesWaitTimeout
  from ray_release.file_manager.file_manager import FileManager
  from ray_release.glue import run_release_test, type_str_to_command_runner, command_runner_to_cluster_manager
  from ray_release.logger import logger
  from ray_release.reporter.reporter import Reporter
  from ray_release.result import Result, ExitCode
  from ray_release.tests.utils import MockSDK, APIDict
label_desc: Use image node_id 5 for calling the GlueTest obj's underlying member method code with example usage: obj._succeed_until(until) without return types