code: def test_proxy_state_update_healthy_check_health_failed_once():
      """Test calling update method on ProxyState when the proxy state is HEALTHY and
      when the check_health call failed once and succeeded for the following call.
  
      The proxy state started with STARTING. After update is called and ready call
      succeeded, the status will change to HEALTHY. After the next period of check_health
      call and that check_health call failed, the status should not be set to UNHEALTHY
      and should stay as HEALTHY. The following check_health call continue to succeed
      and the status continue to stay as HEALTHY.
      """
      proxy_state = _create_proxy_state()
      proxy_state._actor_proxy_wrapper.health = (
          ProxyWrapperCallStatus.FINISHED_FAILED
      )
  
      # Continuously trigger update. The status should change from STARTING to HEALTHY
      # when ready.
      wait_for_condition(
          condition_predictor=_update_and_check_proxy_status,
          state=proxy_state,
          status=ProxyStatus.HEALTHY,
      )
  
      # Trigger update once and status continue to be HEALTHY.
      _update_and_check_proxy_status(proxy_state, ProxyStatus.HEALTHY)
  
      # Unblock health check, trigger update, and the status is still HEALTHY.
      proxy_state._actor_proxy_wrapper.health = (
          ProxyWrapperCallStatus.FINISHED_SUCCEED
      )
      wait_for_condition(
          condition_predictor=_update_and_check_proxy_status,
          state=proxy_state,
          status=ProxyStatus.HEALTHY,
      )
  
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 15 for calling a global function with example usage: test_proxy_state_update_healthy_check_health_failed_once() without return types