code: def deploy(
      self,
      deployment_id: DeploymentID,
      deployment_info: DeploymentInfo,
  ):
      existing_info = self.deployment_infos.get(deployment_id)
      self.deleting[deployment_id] = False
      self.deployment_infos[deployment_id] = deployment_info
      if (
          not existing_info
          or existing_info.version != deployment_info.version
      ):
          self.deployment_statuses[
              deployment_id
          ] = DeploymentStatusInfo(
              name=deployment_id.name,
              status=DeploymentStatus.UPDATING,
              status_trigger=DeploymentStatusTrigger.CONFIG_UPDATE_STARTED,
              message="",
          )
  
      self.kv_store.put(
          "fake_deployment_state_checkpoint",
          dict(
              zip(
                  self.deployment_infos.keys(),
                  zip(
                      self.deployment_infos.values(),
                      self.deleting.values(),
                  ),
              )
          ),
      )
  
imports: import sys
  from typing import Dict, List, Tuple
  from unittest.mock import Mock, PropertyMock, patch
  import pytest
  from ray.exceptions import RayTaskError
  from ray.serve._private.application_state import ApplicationState, ApplicationStateManager, override_deployment_info
  from ray.serve._private.common import ApplicationStatus, DeploymentID, DeploymentStatus, DeploymentStatusInfo, DeploymentStatusTrigger
  from ray.serve._private.config import DeploymentConfig, ReplicaConfig
  from ray.serve._private.deploy_utils import deploy_args_to_deployment_info
  from ray.serve._private.deployment_info import DeploymentInfo
  from ray.serve._private.test_utils import MockKVStore
  from ray.serve._private.utils import get_random_string
  from ray.serve.exceptions import RayServeException
  from ray.serve.schema import DeploymentSchema, ServeApplicationSchema
label_desc: Use image node_id 2 for calling the MockDeploymentStateManager obj's underlying member method code with example usage: obj.deploy(deployment_id, deployment_info) without return types