|
73 | 73 | LINFINITY_METHOD = "LInfinity"
|
74 | 74 |
|
75 | 75 | CRON_DAILY = CronExpressionGenerator.daily()
|
| 76 | +CRON_NOW = CronExpressionGenerator.now() |
76 | 77 | BASELINING_JOB_NAME = "baselining-job"
|
77 | 78 | BASELINE_DATASET_PATH = "/my/local/path/baseline.csv"
|
78 | 79 | PREPROCESSOR_PATH = "/my/local/path/preprocessor.py"
|
@@ -1136,6 +1137,36 @@ def _test_data_quality_monitor_update_schedule(data_quality_monitor, sagemaker_s
|
1136 | 1137 | sagemaker_session.sagemaker_client.delete_data_quality_job_definition.assert_not_called()
|
1137 | 1138 | sagemaker_session.sagemaker_client.create_data_quality_job_definition.assert_not_called()
|
1138 | 1139 |
|
| 1140 | + # update schedule |
| 1141 | + sagemaker_session.describe_monitoring_schedule = MagicMock() |
| 1142 | + sagemaker_session.sagemaker_client.describe_data_quality_job_definition = MagicMock() |
| 1143 | + sagemaker_session.sagemaker_client.create_data_quality_job_definition = MagicMock() |
| 1144 | + |
| 1145 | + # Test updating monitoring schedule with schedule_cron_expression set to NOW |
| 1146 | + sagemaker_session.sagemaker_client.update_monitoring_schedule = Mock() |
| 1147 | + data_quality_monitor.update_monitoring_schedule( |
| 1148 | + data_analysis_start_time="-PT24H", |
| 1149 | + data_analysis_end_time="-PT0H", |
| 1150 | + schedule_cron_expression=CRON_NOW, |
| 1151 | + ) |
| 1152 | + |
| 1153 | + sagemaker_session.sagemaker_client.update_monitoring_schedule.assert_called_once_with( |
| 1154 | + MonitoringScheduleName=data_quality_monitor.monitoring_schedule_name, |
| 1155 | + MonitoringScheduleConfig={ |
| 1156 | + "MonitoringJobDefinitionName": data_quality_monitor.job_definition_name, |
| 1157 | + "MonitoringType": DefaultModelMonitor.monitoring_type(), |
| 1158 | + "ScheduleConfig": { |
| 1159 | + "ScheduleExpression": CRON_NOW, |
| 1160 | + "DataAnalysisStartTime": "-PT24H", |
| 1161 | + "DataAnalysisEndTime": "-PT0H", |
| 1162 | + }, |
| 1163 | + }, |
| 1164 | + ) |
| 1165 | + |
| 1166 | + # A new data quality job definition should be created |
| 1167 | + sagemaker_session.sagemaker_client.describe_data_quality_job_definition.assert_called_once() |
| 1168 | + sagemaker_session.sagemaker_client.create_data_quality_job_definition.assert_called_once() |
| 1169 | + |
1139 | 1170 | # update one property of job definition
|
1140 | 1171 | time.sleep(
|
1141 | 1172 | 0.001
|
|
0 commit comments