code: def test_call_multiple_downstreams(
      self, serve_instance, deployment: Deployment
  ):
      @serve.deployment
      class Delegate:
          def __init__(
              self, streamer1: RayServeHandle, streamer2: RayServeHandle
          ):
              self._h1 = streamer1.options(stream=True)
              self._h2 = streamer2.options(stream=True)
  
          async def __call__(self):
              gen1 = self._h1.remote(1)
              gen2 = self._h2.remote(2)
  
              assert await gen1.__anext__() == 0
              assert await gen2.__anext__() == 0
  
              with pytest.raises(StopAsyncIteration):
                  assert await gen1.__anext__()
              assert await gen2.__anext__() == 1
  
              with pytest.raises(StopAsyncIteration):
                  assert await gen1.__anext__()
              with pytest.raises(StopAsyncIteration):
                  assert await gen2.__anext__()
  
      h = serve.run(Delegate.bind(deployment.bind(), deployment.bind()))
      h.remote().result()
  
imports: import sys
  from typing import AsyncGenerator, Generator
  import pytest
  from ray import serve
  from ray.serve import Deployment
  from ray.serve.handle import RayServeHandle
label_desc: Use image node_id 6 for calling the TestDeploymentHandleStreaming obj's underlying member method code with example usage: obj.test_call_multiple_downstreams(serve_instance, deployment) without return types