code: def test_send_usage(
      mock_usage_event_debugging: MagicMock,
      mock_do_not_track: MagicMock,
      mock_post: MagicMock,
      event_properties: analytics.schemas.ModelSaveEvent,
      caplog: LogCaptureFixture,
  ):
      mock_usage_event_debugging.return_value = False
      mock_do_not_track.return_value = False
      analytics.track(event_properties)
  
      assert mock_do_not_track.called
      assert mock_post.called
  
      mock_usage_event_debugging.return_value = True
      with caplog.at_level(logging.INFO):
          analytics.track(event_properties)
  
      assert "Tracking Payload" in caplog.text
  
imports: from __future__ import annotations
  import logging
  import typing
  from typing import TYPE_CHECKING
  from unittest.mock import Mock
  from unittest.mock import patch
  import pytest
  from prometheus_client.parser import text_string_to_metric_families
  from schema import And
  from schema import Or
  from schema import Schema
  import bentoml
  from bentoml._internal.utils import analytics
label_desc: Use image node_id 3 for calling a global function with example usage: test_send_usage(mock_usage_event_debugging, mock_do_not_track, mock_post, event_properties, caplog) without return types