code: def test_output_type_serialization():
      assert serialize_type(str) == "str"
      assert serialize_type(List[int]) == "typing.List[int]"
      assert (
          serialize_type(List[Dict[str, int]])
          == "typing.List[typing.Dict[str, int]]"
      )
      assert (
          serialize_type(ChatMessage)
          == "haystack.dataclasses.chat_message.ChatMessage"
      )
      assert (
          serialize_type(typing.List[Dict[str, int]])
          == "typing.List[typing.Dict[str, int]]"
      )
      assert (
          serialize_type(List[ChatMessage])
          == "typing.List[haystack.dataclasses.chat_message.ChatMessage]"
      )
      assert (
          serialize_type(typing.Dict[int, ChatMessage])
          == "typing.Dict[int, haystack.dataclasses.chat_message.ChatMessage]"
      )
      assert serialize_type(int) == "int"
      assert (
          serialize_type(ChatMessage.from_user("ciao"))
          == "haystack.dataclasses.chat_message.ChatMessage"
      )
  
imports: import copy
  import typing
  from typing import List, Dict
  from haystack.dataclasses import ChatMessage
  from haystack.components.routers.conditional_router import serialize_type, deserialize_type
label_desc: Use image node_id 1 for calling a global function with example usage: test_output_type_serialization() without return types