code: def test_proxy_actor_healthy_during_draining():
      """Test that the proxy will remain DRAINING even if health check succeeds."""
  
      proxy_state = _create_proxy_state()
  
      # Wait for the proxy to become ready.
      wait_for_condition(
          condition_predictor=_update_and_check_proxy_status,
          state=proxy_state,
          status=ProxyStatus.HEALTHY,
      )
  
      # Drain the proxy.
      proxy_state.update(draining=True)
      assert proxy_state.status == ProxyStatus.DRAINING
  
      cur_num_health_checks = (
          proxy_state._actor_proxy_wrapper.get_num_health_checks()
      )
  
      def _update_until_two_more_health_checks():
          # Check 2 more health checks to make sure the proxy state
          # at least sees the first successful health check.
          proxy_state.update(draining=True)
          return (
              proxy_state._actor_proxy_wrapper.get_num_health_checks()
              == cur_num_health_checks + 2
          )
  
      wait_for_condition(_update_until_two_more_health_checks)
  
      # Make sure the status is still DRAINING not HEALTHY
      assert proxy_state.status == ProxyStatus.DRAINING
  
imports: import json
  import time
  from typing import List, Tuple
  from unittest.mock import patch
  import pytest
  from ray._private.test_utils import wait_for_condition
  from ray.serve._private.cluster_node_info_cache import ClusterNodeInfoCache
  from ray.serve._private.common import ProxyStatus
  from ray.serve._private.constants import PROXY_HEALTH_CHECK_UNHEALTHY_THRESHOLD
  from ray.serve._private.proxy_state import ProxyState, ProxyStateManager, ProxyWrapper, ProxyWrapperCallStatus
  from ray.serve._private.test_utils import MockTimer
  from ray.serve._private.utils import Timer
  from ray.serve.config import DeploymentMode, HTTPOptions
  from ray.serve.schema import LoggingConfig
label_desc: Use image node_id 22 for calling a global function with example usage: test_proxy_actor_healthy_during_draining() and returns: unknown