code: def test_live_run_streaming(self):
      class Callback:
          def __init__(self):
              self.responses = ""
              self.counter = 0
  
          def __call__(self, chunk: StreamingChunk) -> None:
              self.counter += 1
              self.responses += chunk.content if chunk.content else ""
  
      callback = Callback()
      component = OpenAIChatGenerator(streaming_callback=callback)
      results = component.run(
          [ChatMessage.from_user("What's the capital of France?")]
      )
  
      assert len(results["replies"]) == 1
      message: ChatMessage = results["replies"][0]
      assert "Paris" in message.content
  
      assert "gpt-3.5" in message.meta["model"]
      assert message.meta["finish_reason"] == "stop"
  
      assert callback.counter > 1
      assert "Paris" in callback.responses
  
imports: import os
  import pytest
  from openai import OpenAIError
  from haystack.components.generators.chat import OpenAIChatGenerator
  from haystack.components.generators.utils import default_streaming_callback
  from haystack.dataclasses import ChatMessage, StreamingChunk
label_desc: Use image node_id 15 for calling the TestOpenAIChatGenerator obj's underlying member method code with example usage: obj.test_live_run_streaming() without return types