code: def testInvalidClusterCompute(self):
      result = Result()
  
      with patch(
          "ray_release.glue.load_test_cluster_compute",
          _fail_on_call(ReleaseTestConfigError),
      ), self.assertRaises(ReleaseTestConfigError):
          self._run(result)
      self.assertEqual(result.return_code, ExitCode.CONFIG_ERROR.value)
  
      # Fails because file not found
      os.unlink(os.path.join(self.tempdir, "cluster_compute.yaml"))
      with self.assertRaisesRegex(
          ReleaseTestConfigError, "Path not found"
      ):
          self._run(result)
      self.assertEqual(result.return_code, ExitCode.CONFIG_ERROR.value)
  
      # Fails because invalid jinja template
      self.writeClusterCompute("{{ INVALID")
      with self.assertRaisesRegex(
          ReleaseTestConfigError, "yaml template"
      ):
          self._run(result)
      self.assertEqual(result.return_code, ExitCode.CONFIG_ERROR.value)
  
      # Fails because invalid json
      self.writeClusterCompute("{'test': true, 'fail}")
      with self.assertRaisesRegex(
          ReleaseTestConfigError, "quoted scalar"
      ):
          self._run(result)
  
      self.assertEqual(result.return_code, ExitCode.CONFIG_ERROR.value)
  
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 7 for calling the GlueTest obj's underlying member method code with example usage: obj.testInvalidClusterCompute() without return types