code: def test_data_quality_monitor_invalid_attach(
      data_quality_monitor, sagemaker_session
  ):
      # mock
      sagemaker_session.describe_monitoring_schedule = MagicMock(
          return_value={
              "MonitoringScheduleArn": SCHEDULE_ARN,
              "MonitoringScheduleName": SCHEDULE_NAME,
              "MonitoringScheduleConfig": {
                  "MonitoringJobDefinitionName": JOB_DEFINITION_NAME,
                  "MonitoringType": "UnknownType",
              },
          }
      )
      with pytest.raises(TypeError):
          data_quality_monitor.attach(
              monitor_schedule_name=SCHEDULE_NAME,
              sagemaker_session=sagemaker_session,
          )
  
imports: from __future__ import absolute_import
  import copy
  import time
  from typing import Union
  import sagemaker
  import pytest
  from mock import Mock, patch, MagicMock
  from sagemaker.model_monitor import ModelMonitor, Constraints, CronExpressionGenerator, DefaultModelMonitor, EndpointInput, BatchTransformInput, ModelQualityMonitor, Statistics, MonitoringOutput, DataQualityMonitoringConfig, DataQualityDistributionConstraints
  from sagemaker.model_monitor.monitoring_alert import MonitoringAlertSummary, MonitoringAlertHistorySummary, MonitoringAlertActions, ModelDashboardIndicatorAction
  from sagemaker.network import NetworkConfig
  from sagemaker.model_monitor.dataset_format import MonitoringDatasetFormat, DatasetFormat
  from tests.unit import SAGEMAKER_CONFIG_MONITORING_SCHEDULE
label_desc: Use image node_id 15 for calling a global function with example usage: test_data_quality_monitor_invalid_attach(data_quality_monitor, sagemaker_session) without return types