@@ -209,6 +209,43 @@ def test_assessment_operation_fail(self):
209209 self .assertEqual (len (json .loads (substatus_file_data [0 ]["formattedMessage" ]["message" ])["errors" ]["details" ]), 2 )
210210 runtime .stop ()
211211
212+ def test_assessment_operation_fail_due_to_no_telemetry (self ):
213+ argument_composer = ArgumentComposer ()
214+ argument_composer .operation = Constants .ASSESSMENT
215+ runtime = RuntimeCompositor (argument_composer .get_composed_arguments (), True , Constants .ZYPPER )
216+ runtime .set_legacy_test_type ('HappyPath' )
217+ runtime .execution_config .events_folder = None
218+ CoreMain (argument_composer .get_composed_arguments ())
219+
220+ with runtime .env_layer .file_system .open (runtime .execution_config .status_file_path , 'r' ) as file_handle :
221+ substatus_file_data = json .load (file_handle )[0 ]["status" ]["substatus" ]
222+ self .assertEquals (len (substatus_file_data ), 1 )
223+ self .assertTrue (substatus_file_data [0 ]["name" ] == Constants .PATCH_ASSESSMENT_SUMMARY )
224+ self .assertTrue (substatus_file_data [0 ]["status" ] == Constants .STATUS_ERROR .lower ())
225+ self .assertEqual (len (json .loads (substatus_file_data [0 ]["formattedMessage" ]["message" ])["errors" ]["details" ]), 1 )
226+ self .assertTrue ("The minimum Azure Linux Agent version prerequisite for Linux patching was not met" in json .loads (substatus_file_data [0 ]["formattedMessage" ]["message" ])["errors" ]["details" ][0 ]["message" ])
227+ runtime .stop ()
228+
229+ def test_installation_operation_fail_due_to_no_telemetry (self ):
230+ # testing on auto patching request
231+ argument_composer = ArgumentComposer ()
232+ argument_composer .maintenance_run_id = str (datetime .datetime .utcnow ().strftime ("%Y-%m-%dT%H:%M:%S.%fZ" ))
233+ runtime = RuntimeCompositor (argument_composer .get_composed_arguments (), True , Constants .ZYPPER )
234+ runtime .set_legacy_test_type ('SuccessInstallPath' )
235+ runtime .execution_config .events_folder = None
236+ CoreMain (argument_composer .get_composed_arguments ())
237+
238+ with runtime .env_layer .file_system .open (runtime .execution_config .status_file_path , 'r' ) as file_handle :
239+ substatus_file_data = json .load (file_handle )[0 ]["status" ]["substatus" ]
240+ self .assertEquals (len (substatus_file_data ), 3 )
241+ self .assertTrue (substatus_file_data [0 ]["name" ] == Constants .PATCH_ASSESSMENT_SUMMARY )
242+ self .assertTrue (substatus_file_data [0 ]["status" ] == Constants .STATUS_ERROR .lower ())
243+ self .assertEqual (len (json .loads (substatus_file_data [0 ]["formattedMessage" ]["message" ])["errors" ]["details" ]), 1 )
244+ self .assertTrue ("The minimum Azure Linux Agent version prerequisite for Linux patching was not met" in json .loads (substatus_file_data [0 ]["formattedMessage" ]["message" ])["errors" ]["details" ][0 ]["message" ])
245+ self .assertTrue (substatus_file_data [1 ]["name" ] == Constants .PATCH_INSTALLATION_SUMMARY )
246+ self .assertTrue (substatus_file_data [1 ]["status" ] == Constants .STATUS_ERROR .lower ())
247+ runtime .stop ()
248+
212249
213250if __name__ == '__main__' :
214251 unittest .main ()
0 commit comments