code: def test_error_analytics_doesnt_crash_on_connection_error(
      self, mock_post, monkeypatch
  ):
      monkeypatch.setenv("GRADIO_ANALYTICS_ENABLED", "True")
      mock_post.side_effect = httpx.ConnectError("Connection error")
      analytics._do_normal_analytics_request("placeholder", {})
      mock_post.assert_called()
  
file_path: gradio/test/test_analytics.py
imports: import asyncio
  import ipaddress
  import json
  import os
  import warnings
  from unittest import mock
  import httpx
  import pytest
  from gradio import analytics, wasm_utils
  from gradio.context import Context
label_desc: Use image node_id 2 for calling the TestAnalytics obj's underlying member method code with example usage: obj.test_error_analytics_doesnt_crash_on_connection_error(mock_post, monkeypatch) without return types