code: def test_deploy_same_deployment_name_different_app(serve_instance):
      @serve.deployment
      class Model:
          def __init__(self, name):
              self.name = name
  
          def __call__(self):
              return f"hello {self.name}"
  
      serve.run(Model.bind("alice"), name="app1", route_prefix="/app1")
      serve.run(Model.bind("bob"), name="app2", route_prefix="/app2")
  
      assert (
          requests.get("http://localhost:8000/app1").text
          == "hello alice"
      )
      assert (
          requests.get("http://localhost:8000/app2").text == "hello bob"
      )
      routes = requests.get("http://localhost:8000/-/routes").json()
      assert routes["/app1"] == "app1"
      assert routes["/app2"] == "app2"
  
      app1_status = serve.status().applications["app1"]
      app2_status = serve.status().applications["app2"]
      assert app1_status.status == "RUNNING"
      assert app1_status.deployments["Model"].status == "HEALTHY"
      assert app2_status.status == "RUNNING"
      assert app2_status.deployments["Model"].status == "HEALTHY"
  
imports: import functools
  import os
  import sys
  import threading
  import time
  from concurrent.futures.thread import ThreadPoolExecutor
  from typing import Dict
  import pytest
  import requests
  import ray
  from ray import serve
  from ray._private.pydantic_compat import ValidationError
  from ray._private.test_utils import SignalActor, wait_for_condition
  from ray.serve._private.common import ApplicationStatus
  from ray.serve._private.logging_utils import get_component_log_file_name, get_serve_logs_dir
  from ray.util.state import list_actors
label_desc: Use image node_id 9 for calling a global function with example usage: test_deploy_same_deployment_name_different_app(serve_instance) and returns: str, self