def test_list_monitors_unknown_monitoring_type(): sagemaker_session = empty_sagemaker_session() sagemaker_session.list_monitoring_schedules = Mock( return_value={ "MonitoringScheduleSummaries": [ { "MonitoringScheduleName": "model-explainability-monitor", "MonitoringType": "UnknownType", }, ] }) sagemaker_session.describe_monitoring_schedule = Mock(side_effect=[ { "MonitoringScheduleConfig": { "MonitoringType": "UnknownType", "MonitoringJobDefinitionName": "unknown-job-definition", } }, ]) predictor = Predictor(ENDPOINT, sagemaker_session=sagemaker_session) with pytest.raises(TypeError): predictor.list_monitors()
def test_list_monitors(default_model_monitor_attach, *attach_methods): sagemaker_session = empty_sagemaker_session() sagemaker_session.list_monitoring_schedules = Mock( return_value={ "MonitoringScheduleSummaries": [ { "MonitoringScheduleName": "default-monitor", }, { "MonitoringScheduleName": "byoc-monitor", }, { "MonitoringScheduleName": "data-quality-monitor", "MonitoringType": "DataQuality", }, { "MonitoringScheduleName": "model-quality-monitor", "MonitoringType": "ModelQuality", }, { "MonitoringScheduleName": "model-bias-monitor", "MonitoringType": "ModelBias", }, { "MonitoringScheduleName": "model-explainability-monitor", "MonitoringType": "ModelExplainability", }, ] }) sagemaker_session.describe_monitoring_schedule = Mock(side_effect=[ { "MonitoringScheduleConfig": { "MonitoringJobDefinition": { "MonitoringAppSpecification": { "ImageUri": DEFAULT_REPOSITORY_NAME, } } } }, { "MonitoringScheduleConfig": { "MonitoringJobDefinition": { "MonitoringAppSpecification": { "ImageUri": "byoc-image", } } } }, { "MonitoringScheduleConfig": { "MonitoringType": "DataQuality", "MonitoringJobDefinitionName": "data-quality-job-definition", } }, { "MonitoringScheduleConfig": { "MonitoringType": "ModelQuality", "MonitoringJobDefinitionName": "model-quality-job-definition", } }, ]) predictor = Predictor(ENDPOINT, sagemaker_session=sagemaker_session) predictor.list_monitors() for attach_method in attach_methods: attach_method.assert_called_once() assert default_model_monitor_attach.call_count == 2