code: def mock_chat_completion():
      """
      Mock the OpenAI API completion response and reuse it for tests
      """
      with patch(
          "openai.resources.chat.completions.Completions.create"
      ) as mock_chat_completion_create:
          completion = ChatCompletion(
              id="foo",
              model="gpt-4",
              object="chat.completion",
              choices=[
                  Choice(
                      finish_reason="stop",
                      logprobs=None,
                      index=0,
                      message=ChatCompletionMessage(
                          content="Hello world!", role="assistant"
                      ),
                  )
              ],
              created=int(datetime.now().timestamp()),
              usage={
                  "prompt_tokens": 57,
                  "completion_tokens": 40,
                  "total_tokens": 97,
              },
          )
  
          mock_chat_completion_create.return_value = completion
          yield mock_chat_completion_create
  
file_path: haystack/test/conftest.py
imports: from datetime import datetime
  from pathlib import Path
  from unittest.mock import Mock, patch
  import pytest
  from openai.types.chat import ChatCompletion, ChatCompletionMessage
  from openai.types.chat.chat_completion import Choice
  from haystack.testing.test_utils import set_all_seeds
label_desc: Use image node_id 3 for calling a global function with example usage: mock_chat_completion() without return types